C# 绑定到dataGrid SelectedItem

C# 绑定到dataGrid SelectedItem,c#,wpf,datagrid,C#,Wpf,Datagrid,我有这样的数据网格: <DataGrid AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single" GridLinesVisibility="None"> <DataGrid.Columns> <DataGridTemplateColumn> <DataGridTemplateColumn.CellTemplate>

我有这样的数据网格:

<DataGrid AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single" GridLinesVisibility="None">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Border BorderThickness="{Binding ???}" BorderBrush="Black" >
                        <Grid></Grid>
                    </Border>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid>


我需要将CellTemplate中的边框厚度绑定到DataGrid.SelectedItem。例如:如果单元格位于选定行中,则厚度必须为1,1,1,1,否则为零。(我知道转换器)。如何执行此操作?

转换器可能不是执行此操作的方法,请尝试在所选网格项目上使用datatrigger,以更改边框样式,并在这一点上进行尝试。

可以使用触发器实现:

  <DataGrid AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single" GridLinesVisibility="None">
        <DataGrid.Columns>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Border  BorderBrush="Black" >
                            <Border.Style>
                                <Style TargetType="Border">
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType=DataGridCell}}" Value="True">
                                            <Setter Property="BorderThickness" Value="1"></Setter>
                                        </DataTrigger>
                                    </Style.Triggers>

                                </Style>
                            </Border.Style>
                            <Grid></Grid>
                        </Border>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
         </DataGrid.Columns>
    </DataGrid>

直接设置单元样式

       <DataGrid AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single" GridLinesVisibility="None">
        <DataGrid.Columns>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellStyle>
                    <Style TargetType="DataGridCell">
                        <Style.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter Property="BorderThickness" Value="1"></Setter>
                                <Setter Property="BorderBrush" Value="Black"></Setter>
                            </Trigger>
                        </Style.Triggers>

                    </Style>


立即尝试。。您必须在DataTrigger上设置值=True,否则建议使用替代方法否,我需要使用模板,因为我在边框内有很多绑定内容。您仍然可以使用模板。用我展示的触发器设置单元格边框。在模板中不要添加边框。我只需要我自己的边框,或者圆或其他任何东西。我需要知道,怎么绑这个东西。