我有一个wpf应用程序,我在运行时更改listview的itemtemplate。项模板基于具有公共属性的不同用户控件:
private bool _checkdb = false;
public bool CheckDB
{
get { return _checkdb; }
set { _checkdb = value; }
}
我的xaml如下:
<UserControl.Resources>
<DataTemplate x:Key="DT_Main">
<local:UC_ViewMain CheckDB="True" />
</DataTemplate>
<DataTemplate x:Key="DT_Simple" >
<local:UC_ViewSimple CheckDB="True"/>
</DataTemplate>
<DataTemplate x:Key="DT_Detailed" >
<local:UC_ViewDetailed CheckDB="True" />
</DataTemplate>
</UserControl.Resources>
现在,当我更改listview的itemtemplate时,属性CheckDB始终为false。更改itemtemplate的代码如下:
listBox.ItemTemplate = (DataTemplate)Resources["DT_Main"];
因此,每次CheckDB属性为false而不是true。无论如何我可以实现这个来设置Xaml的值吗?当Usercontrol是Loaded或者它的Datacontext更改时,我想检查这个值。
由于