从WPF中的用户控件继承-成员不可访问

阿莱萨莱西奥(Alessalessio)

阅读完有关同一参数的所有先前答案后,我将发布以下问题。他们都没有工作。

我正在创建一个向导,它由一定数量的幻灯片组成。每个幻灯片都是用户控件,并且继承自称为“ SlideBase”的基类。

public abstract class SlideBase: System.Windows.Controls.UserControl
{

    #region DependecyProperty
    public static readonly DependencyProperty FilterOptionProperty =
        DependencyProperty.Register("FilterOption", typeof(FilterOptionsBase), typeof(SlideBase), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,OnFilterChanged));

    private static void OnFilterChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        SlideBase s = (SlideBase)d;
        (s.Content as FrameworkElement).DataContext = (FilterOptionsBase)e.NewValue;

    }
    public FilterOptionsBase FilterOption
    {
        get
        {
            return (FilterOptionsBase)GetValue(FilterOptionProperty);
        }
        set
        {
            SetValue(FilterOptionProperty, value);
        }
    }

    public static readonly DependencyProperty IsValidProperty =
        DependencyProperty.Register("IsValid", typeof(bool), typeof(SlideBase), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));

    public virtual bool IsValid
    {
        get
        {
            return (bool)GetValue(IsValidProperty);
        }
        set
        {
            SetValue(IsValidProperty, value);
        }
    }

    #endregion
}

Cover.XAML以下列方式从SlideBase继承

<base:SlideBase
    xmlns:base="clr-namespace:WPFOPS.Model.OperatorLog.Models"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
    x:Class="WPFOPS.Views.OperatorLog.FilterWizard.Cover"    
    mc:Ignorable="d"
     Width="615" Height="370">
    <UserControl.Resources>
        <ResourceDictionary>
            <Storyboard x:Name="Animation01" RepeatBehavior="Forever">

使用以下Cover.xaml.cs

namespace WPFOPS.Views.OperatorLog.FilterWizard
{

    public partial class Cover : SlideBase
    {
        public Cover():base()
        {
            InitializeComponent();

            Loaded+=(s,e)=> {
                Animation01.Begin();
            };

            IsValid = true;

        }

    }
}

我收到以下错误:

错误 -项目配置:

这是VS2015中的WPF项目。目标框架4.5.2。平台目标为“任何CPU”。

任何提示都非常感谢

阿莱萨莱西奥(Alessalessio)

VS消息令人误解。

问题与StoryBoard元素有关。它必须有一个钥匙

 <Storyboard x:Key="Animation01" x:Name="Animation01" RepeatBehavior="Forever">

从代码隐藏中,我需要以这种方式访问​​它:

 public Cover():base()
        {
            InitializeComponent();

            //Loaded += (s, e) =>
            //{
            //    Animation01.Begin(); // THIS IS WRONG
            //};

            IsValid = true;
            this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
        }


        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            Storyboard sb = this.FindResource("Animation01") as Storyboard;                   
            sb.Begin();
        }

我很幸运,因为来自VS的所有错误消息都绝对具有误导性。

我卸载了Views文件夹和ViewModels文件夹。我只在其中包含“ .cs”文件的情况下编译了项目,以便在设计时正确命名和找到所有名称空间(在本例中为SlideBase名称空间)。

我再次加载了Views和ViewModels文件夹,最后得到了与Storyboard相关的错误。

希望能帮助到你

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 App.xaml 样式 WPF 中访问用户控件属性

来自分类Dev

有没有办法确保继承的成员在派生类中不可访问,同时仍保留公共继承的好处?

来自分类Dev

从 WPF 用户控件访问 Winform

来自分类Dev

如何访问WPF派生的UserControl中的成员控件

来自分类Dev

Scala类中的公共类成员在Java类中不可访问

来自分类Dev

Scala类中的公共类成员在Java类中不可访问

来自分类Dev

派生类中受保护的成员函数地址不可访问

来自分类Dev

在Akka / scala中访问演员外部的不可变成员

来自分类Dev

多级继承成员访问

来自分类Dev

WPF用户控件设计时间访问内部用户控件

来自分类Dev

为什么我在WPF用户控件上看到“无法识别或无法访问成员”错误?

来自分类Dev

WPF用户控件继承问题

来自分类Dev

WPF用户控件继承问题

来自分类Dev

从用户控件中访问MainWindow中的用户控件名称

来自分类Dev

从用户控件中访问MainWindow中的用户控件名称

来自分类Dev

如何在 WPF 窗口中访问继承的成员?

来自分类Dev

动态创建的用户控件中的访问方法?

来自分类Dev

WPF窗口/用户控件继承XAML

来自分类Dev

如何从父aspx页访问子用户控件中的控件

来自分类Dev

如何重新访问之前在子控件中声明的用户控件?

来自分类Dev

如何从母版页访问用户控件中的控件?

来自分类Dev

访问控件不是XAML用户控件中的属性

来自分类Dev

如何重新访问之前在子控件中声明的用户控件?

来自分类Dev

从成员结构的成员函数中访问类的成员?

来自分类Dev

在Scala中访问类型成员

来自分类Dev

访问JSON中的嵌套成员

来自分类Dev

Scala访问继承了Java类的静态成员

来自分类Dev

从模板类访问继承成员的问题

来自分类Dev

c ++从继承链访问外部成员

Related 相关文章

  1. 1

    在 App.xaml 样式 WPF 中访问用户控件属性

  2. 2

    有没有办法确保继承的成员在派生类中不可访问,同时仍保留公共继承的好处?

  3. 3

    从 WPF 用户控件访问 Winform

  4. 4

    如何访问WPF派生的UserControl中的成员控件

  5. 5

    Scala类中的公共类成员在Java类中不可访问

  6. 6

    Scala类中的公共类成员在Java类中不可访问

  7. 7

    派生类中受保护的成员函数地址不可访问

  8. 8

    在Akka / scala中访问演员外部的不可变成员

  9. 9

    多级继承成员访问

  10. 10

    WPF用户控件设计时间访问内部用户控件

  11. 11

    为什么我在WPF用户控件上看到“无法识别或无法访问成员”错误?

  12. 12

    WPF用户控件继承问题

  13. 13

    WPF用户控件继承问题

  14. 14

    从用户控件中访问MainWindow中的用户控件名称

  15. 15

    从用户控件中访问MainWindow中的用户控件名称

  16. 16

    如何在 WPF 窗口中访问继承的成员?

  17. 17

    动态创建的用户控件中的访问方法?

  18. 18

    WPF窗口/用户控件继承XAML

  19. 19

    如何从父aspx页访问子用户控件中的控件

  20. 20

    如何重新访问之前在子控件中声明的用户控件?

  21. 21

    如何从母版页访问用户控件中的控件?

  22. 22

    访问控件不是XAML用户控件中的属性

  23. 23

    如何重新访问之前在子控件中声明的用户控件?

  24. 24

    从成员结构的成员函数中访问类的成员?

  25. 25

    在Scala中访问类型成员

  26. 26

    访问JSON中的嵌套成员

  27. 27

    Scala访问继承了Java类的静态成员

  28. 28

    从模板类访问继承成员的问题

  29. 29

    c ++从继承链访问外部成员

热门标签

归档