【发布时间】:2017-12-23 22:19:37
【问题描述】:
我有一个使用DataTemplate 的动态ListView,如下所示:
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0,0,0,1" BorderBrush="#ccc">
<RadioButton GroupName="MyRadioButtonGroup">
<StackPanel Orientation="Horizontal" Margin="0,0,0,5" Width="{Binding ActualWidth, ElementName=CheckoutGrid}">
<TextBlock Text="{Binding Path=Test1, StringFormat='{}{0} - '}" />
<TextBlock Text="{Binding Path=Test2, StringFormat='{} test {0} - '}" />
<TextBlock Text="{Binding Path=Test, StringFormat='{} test {0}'}" />
</StackPanel>
</RadioButton>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
我想禁用一个按钮,直到其中一个 RadioButton IsChecked:
<RadioButton Padding="15,10" VerticalAlignment="Center">
<RadioButton.Style>
<Style TargetType="RadioButton" BasedOn="{StaticResource styleToggleButton4}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyRadioButtonGroup, Path=IsChecked}" Value="False">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</RadioButton.Style>
<TextBlock FontWeight="SemiBold" FontSize="14" Margin="0">NEXT</TextBlock>
</RadioButton>
所以问题是我不知道如何正确绑定到RadioButton GroupName="MyRadioButtonGroup"。您将在上面的DataTrigger 中看到我正在尝试Binding="{Binding ElementName=MyRadioButtonGroup, Path=IsChecked}" Value="False",但这对我不起作用,因为显然它是GroupName 而不是x:Name。
关于如何正确处理此问题的任何建议?如果可能的话,我宁愿在前端处理这个问题。
【问题讨论】:
标签: wpf xaml binding radio-button