WPF Datatemplate控件未获取公共属性

时间:2016-10-28 11:54:18

标签: c# .net wpf xaml

我有一个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更改时,我想检查这个值。

由于

0 个答案:

没有答案