场景一:在创建wpf 用户控件的时候,需要在Xaml里使用该控件的自定义属性等。
解决方案一:可以通过属性绑定,查找绑定自定义属性;
解决方案二:可以将该用户控件的DataContext绑定自身;
以下为实现方式:
方案一(查找绑定自定义属性):
缺点:每个属性的绑定都需要写长长的一串筛选条件,看起来并不简洁;
public partial class UcTest : UserControl
{
public UcTest ()
{
InitializeComponent();
}
public string UcProperty
{
get { return (string)GetValue(UcPropertyProperty); }
set { SetValue(UcPropertyProperty, value); }
}
public static readonly DependencyProperty UcPropertyProperty =
DependencyProperty.Register("UcProperty", typeof(string), typeof(UcTest), new PropertyMetadata(""));
}
}
<UserControl x:Class="Test.UcTest"
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:my="clr-namespace:Test">
<StackPanel>
<TextBlock Text="{Binding Relativ