Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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
C# 数据模板中单选按钮的两个组?_C#_Wpf_Xaml_Datatemplate - Fatal编程技术网

C# 数据模板中单选按钮的两个组?

C# 数据模板中单选按钮的两个组?,c#,wpf,xaml,datatemplate,C#,Wpf,Xaml,Datatemplate,您好,我有以下问题:我有一个带有RadioButtons的DataTemplate,我希望每个RadioButton在功能上都属于这两个组。这可能吗 所以我希望我只能单击行中的一个按钮和列中的一个按钮 目前,我可以在一列中单击一个按钮两次,但我可以单击一行中的每个按钮 我在谷歌上找不到任何有用的东西。 有人有主意吗 <GridViewColumn Width="80"> <GridViewColumn

您好,我有以下问题:我有一个带有
RadioButton
s的
DataTemplate
,我希望每个
RadioButton
在功能上都属于这两个组。这可能吗

所以我希望我只能单击行中的一个按钮和列中的一个按钮

目前,我可以在一列中单击一个按钮两次,但我可以单击一行中的每个按钮

我在谷歌上找不到任何有用的东西。 有人有主意吗

                   <GridViewColumn Width="80">
                    <GridViewColumn.Header>
                        <GridViewColumnHeader>Hauptfoto</GridViewColumnHeader>
                    </GridViewColumn.Header>
                    <GridViewColumn.CellTemplate >
                        <DataTemplate>
                            <RadioButton Foreground="DarkBlue" GroupName="HauptfotoRB" x:Name="HauptfotoRB" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="25,0,0,0" Checked="HauptfotoRB_Checked"></RadioButton>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="80">
                    <GridViewColumn.Header>
                        <GridViewColumnHeader>Oben__1</GridViewColumnHeader>
                    </GridViewColumn.Header>
                    <GridViewColumn.CellTemplate >
                        <DataTemplate>
                            <RadioButton Foreground="DarkBlue" GroupName="ObenRB" x:Name="ObenRB" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="25,0,0,0" Checked="ObenRB_Checked" ></RadioButton>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="80">
                    <GridViewColumn.Header>
                        <GridViewColumnHeader>Innen__2</GridViewColumnHeader>
                    </GridViewColumn.Header>
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <RadioButton Foreground="DarkBlue" GroupName="InnenRB"  x:Name="InnenRB"  VerticalAlignment="Center" HorizontalAlignment="Center" Margin="25,0,0,0" Checked="InnenRB_Checked" ></RadioButton>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

豪普福托
奥本欧1
Innen_uuu2

对于
数据网格
您可以使用第二个不可见的
单选按钮
进行列同步,并使用
替代索引
作为行同步的行索引(如果您的行数据有一个ID,当然可以使用它代替
替代索引
进行行同步)并把它们绑在一起:

<DataGrid ItemsSource="{Binding YourCollection}" AutoGenerateColumns="False" AlternationCount="2147483647">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <RadioButton GroupName="col1" IsChecked="{Binding IsChecked, ElementName=b}" Visibility="Collapsed"/>
                        <RadioButton Name="b" 
                                        Content="SomeContent" 
                                        GroupName="{Binding AlternationIndex, RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <RadioButton GroupName="col2" IsChecked="{Binding IsChecked, ElementName=b}" Visibility="Collapsed"/>
                        <RadioButton Name="b" 
                                        Content="SomeContent" 
                                        GroupName="{Binding AlternationIndex, RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <RadioButton GroupName="col3" IsChecked="{Binding IsChecked, ElementName=b}" Visibility="Collapsed"/>
                        <RadioButton Name="b" 
                                        Content="SomeContent" 
                                        GroupName="{Binding AlternationIndex, RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>