【发布时间】:2019-10-15 04:36:03
【问题描述】:
我有一个包含 3 个以下列的列表视图: 1.一个文本列 2.单选按钮 3.单选按钮
我正在尝试将两个单选按钮分组,但所有单选按钮都归为一组。 例如如果有两个 listview 项(两行),则所有 4 个单选按钮都归为一个。
<ListView Name="ruleListView" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Margin="10">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn
Header="Rule"
>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock
HorizontalAlignment="Right"
Width="410"
TextWrapping="Wrap" Text="{Binding Rule}" TextAlignment="Left"
/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn
Header="Configuration Key"
Width="140"
>
<GridViewColumn.CellTemplate>
<DataTemplate>
<RadioButton GroupName="Rule"
VerticalAlignment="Center"
HorizontalAlignment="Center" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn
Header="Event"
Width="100"
>
<GridViewColumn.CellTemplate>
<DataTemplate>
<RadioButton GroupName="Rule"
VerticalAlignment="Center"
HorizontalAlignment="Center"
IsChecked="True"
/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
我希望应该根据特定行进行分组。
【问题讨论】:
-
使用相同的 GroupName 会强制将所有单选按钮链接在一起。根据您在列表中绑定的对象,您可以使用数据绑定完成您想要的。
-
两个单选按钮独立于项目源绑定到列表。你能解释一下你的建议吗?
-
我可以解释更多,但我需要知道您是使用 MVVM 并将对象绑定到 ItemSource,还是直接在 UI 中手动设置项目?如果您将对象绑定到 ItemSource,您是否绑定了可以修改源代码的自定义对象?
-
到目前为止,我没有使用 MVVM 作为项目源。
-
您的问题解决了吗?
标签: c# wpf listview radio-button