我是WPF的初学者。 当数据绑定值等于Null时,我想在Radiobutton上将Visibility设置为Hidden。 我正在使用WPF Toolkit。 这是我的代码,但它不起作用:
<dg:DataGrid x:Name="dtGrdData" HorizontalScrollBarVisibility="Hidden" SelectionMode="Extended" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeRows="False" CanUserSortColumns="False" AutoGenerateColumns="False"
RowHeaderWidth="0" RowHeight="50" >
<DataTrigger Binding="{Binding P_DAY_PRICE}" Value="{x:Null}">
<Setter Property="RadioButton.Visibility" Value="Hidden"></Setter>
</DataTrigger>
<dg:DataGrid.Columns>
<dg:DataGridTemplateColumn Header="1 day" Width="1.5*" >
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<RadioButton x:Name="rdBtnDayPrice" GroupName="grpNmPrice" Content="{Binding Path=P_DAY_PRICE}" Style="{StaticResource toggleStyle}" Checked="RadioButton_Checked"></RadioButton>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
</dg:DataGrid.Columns>
</dg:DataGrid>
你能帮帮我吗?
感谢
答案 0 :(得分:11)
将DataTrigger
移近RadionButton
:
<RadioButton ...>
<RadioButton.Style>
<Style TargetType="RadioButton">
<Style.Triggers>
<DataTrigger Binding="{Binding P_DAY_PRICE}" Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</RadioButton.Style>
</RadioButton>
答案 1 :(得分:3)
我建议你直接在RadioButton上设置你的绑定,并使用Binding对象的'TargetNullValue'属性。
<RadioButton x:Name="rdBtnDayPrice" Visibility={Binding Path=P_DAY_PRICE, TargetNullValue=Hidden, Converter=...} GroupName="grpNmPrice" Content="{Binding Path=P_DAY_PRICE}" Style="{StaticResource toggleStyle}" Checked="RadioButton_Checked"
您需要使用转换器将“P_DAY_PRICE”值转换为“可见性”枚举值,并且应该执行此任务。
Riana