wpf – 从XAML调用代码隐藏中定义的自定义依赖项属性
发布时间:2020-12-13 20:44:34 所属栏目:百科 来源:网络整理
导读:是否可以在定义它的元素的XAML中调用自定义依赖项属性? 我的意思是,我的mainWindow有以下简单代码: 码 public partial class MainWindow : Window{ public static readonly DependencyProperty SpecialToProperty = DependencyProperty.Register("SpecialT
是否可以在定义它的元素的XAML中调用自定义依赖项属性?
我的意思是,我的mainWindow有以下简单代码: 码 public partial class MainWindow : Window { public static readonly DependencyProperty SpecialToProperty = DependencyProperty.Register("SpecialTo",typeof(double),typeof(MainWindow)); public MainWindow() { InitializeComponent(); } public double SpecialTo { get { return (double)GetValue(SpecialToProperty); } set { SetValue(DoubleAnimation.ToProperty,value); } } } 如何从MainWindow类的XAML部分代码中使用该依赖项属性? 我的意思是: <Window x:Class="WpfAnimationTEst.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" SpecialTo=200> 我知道可以使用附加的依赖属性来完成它,但这是唯一的方法吗?是不是可以调用代码隐藏中定义的依赖项属性? 谢谢你,如果这个问题有点愚蠢,我很抱歉,我只是在学习并试图理解WPF.
我在最初发布错误答案后找到了答案:
如果你使用andreask的答案,问题实际上在于循环依赖.我必须为所有窗口创建一个BaseClass: 1)创建一个新的Window Base类: public class BaseWindow : Window { public BaseWindow() { } public static readonly DependencyProperty SpecialToProperty = DependencyProperty.Register("SpecialTo",typeof(BaseWindow)); public double SpecialTo { get { return (double)GetValue(SpecialToProperty); } set { SetValue(SpecialToProperty,value); } } } 这将是所有窗口的新基类. <local:BaseWindow x:Class="YOURNAMESPACE.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:YOURNAMESPACE" Title="MainWindow" Height="350" Width="525" SpecialTo="100"> <Grid> </Grid> </local:BaseWindow> 3)您还需要修改部分MainWindow.cs: public partial class MainWindow : BaseWindow { public MainWindow() { InitializeComponent(); } } 这对我有用,但是,你总是需要在窗口声明中使用额外的xaml标记. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |