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”