首页 > 代码库 > WPF ----在UserControl的xaml里绑定依赖属性
WPF ----在UserControl的xaml里绑定依赖属性
场景:在定义wpf 用户控件的时候,希望使用时设置自定义的属性来改变用户控件里的状态或内容等。
下面直接上实例代码:
用户控件的后台代码,定义依赖属性
public partial class MyUserControl : UserControl { public MyUserControl() { InitializeComponent(); } public string MyProperty { get { return (string)GetValue(MyPropertyProperty); } set { SetValue(MyPropertyProperty, value); } } // Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc... public static readonly DependencyProperty MyPropertyProperty = DependencyProperty.Register("MyProperty", typeof(string), typeof(MyUserControl), new PropertyMetadata("")); }}
Xaml 代码中绑定依赖属性
<UserControl x:Class="WPFTest.MyUserControl" 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:myCtl="clr-namespace:WPFTest" d:DesignHeight="300" d:DesignWidth="300" mc:Ignorable="d"> <StackPanel> <TextBlock Text="{Binding RelativeSource={RelativeSource Mode= FindAncestor, AncestorType={x:Type myCtl:MyUserControl}}, Path=MyProperty}" /> </StackPanel></UserControl>
下面是自定义控件的使用实例:
<Window x:Class="WPFTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:WPFTest="clr-namespace:WPFTest" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Title="MainWindow" Width="525" Height="350" mc:Ignorable="d"> <Grid> <WPFTest:MyUserControl MyProperty="ddd" /> </Grid></Window>
希望对大家有用!
WPF ----在UserControl的xaml里绑定依赖属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。