Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 数据模板绑定_Wpf - Fatal编程技术网

Wpf 数据模板绑定

Wpf 数据模板绑定,wpf,Wpf,我如何才能实现这样的目标: <ListView Name="OverviewTitlesListView" ItemsSource="{Binding OverviewTitlesCollection}"> <ListView.View> <GridView> <GridViewColumn Header="Index" Width="

我如何才能实现这样的目标:

<ListView Name="OverviewTitlesListView" ItemsSource="{Binding OverviewTitlesCollection}">
                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="Index" Width="60" DisplayMemberBinding="{Binding TitleIndex}"/>
                        <GridViewColumn Header="Start Time" Width="100" DisplayMemberBinding="{Binding StartTime}"/>
                        <GridViewColumn Header="End Time" Width="100" DisplayMemberBinding="{Binding EndTime}"/>
                        <GridViewColumn Header="Title Text" Width="550" DisplayMemberBinding="{Binding Text}"/>
                        <GridViewColumn Header="Approved" Width="80">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Name="Test"/>
                                    <DataTemplate.Triggers>
                                        <Trigger Property="{Binding IsApproved}" Value="true">
                                            <Setter TargetName="Test" Property="Text" Value="Approved"/>
                                        </Trigger>
                                        <Trigger Property="{Binding IsApproved}" Value="false">
                                            <Setter TargetName="Test" Property="Text" Value="Not Approved"/>
                                        </Trigger>
                                    </DataTemplate.Triggers>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                    </GridView>
                </ListView.View>
            </ListView>


当我在OverviewTitleCollection中对我的对象的属性更改获得批准时,我希望控制TextBlock的文本。如何通过datatemplate中的触发器控制此操作?

只要您的IsApproved属性引发INotifyPropertyChanged,那么您的DataTrigger就可以工作


并使用
将数据模板更改为:

<DataTemplate>
    <TextBlock x:Name="Test" Text="Approved"/>
    <DataTemplate.Triggers>
        <DataTrigger Binding="{Binding IsApproved}" Value="False">
            <Setter TargetName="Test" Property="Text" Value="Not Approved"/>
        </DataTrigger>
    </DataTemplate.Triggers>
</DataTemplate>

它现在使用DataTrigger来检查绑定,而不是只支持模板化对象(如控件)上的单个属性的触发器。我还简化了它,使用默认值和单个触发器来回切换。当触发器变为非活动状态时,它将切换回原始状态(Text=“Approved”)。

我只是通过此代码得到一个“无效XML”。它无法使用{TemplateBinding IsApproved}找出{Binding IsApproved}。它说:在类型“Control”中找不到属性“IsApproved”