Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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# 如果条件为true,则将Datagrid内的按钮内容绑定到列值_C#_Wpf_Datagrid - Fatal编程技术网

C# 如果条件为true,则将Datagrid内的按钮内容绑定到列值

C# 如果条件为true,则将Datagrid内的按钮内容绑定到列值,c#,wpf,datagrid,C#,Wpf,Datagrid,我有DataGrid,其中有几列。我还有一个按钮在DataGrid中。现在当DataGrid加载时,我想更改按钮内容。我想检查“状态列”的状态。然后根据这一点,我想更改DataGrid中按钮的内容。这就是我想要实现的目标 例如 if(Status="Accepted"){ closeorderbtn.content="Close Order" } else{ closeorderbtn.content="Open Order" } Xaml文件 <DataGrid x:Name="da

我有
DataGrid
,其中有几列。我还有一个
按钮
DataGrid
中。现在当
DataGrid
加载时,我想更改按钮内容。我想检查“状态列”的状态。然后根据这一点,我想更改
DataGrid
中按钮的内容。这就是我想要实现的目标

例如

if(Status="Accepted"){
closeorderbtn.content="Close Order"
}

else{
closeorderbtn.content="Open Order"
}
Xaml文件

<DataGrid x:Name="dataGrid" FlowDirection="RightToLeft" SelectionMode="Single" MouseLeftButtonUp="dataGrid_MouseLeftButtonUp" MouseDoubleClick="dataGrid_MouseDoubleClick" Background="WhiteSmoke" RowBackground="White" HorizontalContentAlignment="Center" HorizontalAlignment="Left" ColumnWidth="*" Height="534" VerticalAlignment="Top" Width="1174" IsReadOnly="True" AutoGenerateColumns="False" BorderThickness="1" BorderBrush="LightGray" GridLinesVisibility="All" Margin="4,6,0,0">
    <DataGrid.Columns>

        <DataGridTextColumn Header="Total_Quantity" Binding="{Binding Total_Quantity}" FontFamily="B Nazanin" FontWeight="Bold"/>
        <DataGridTextColumn Header="Rate" Binding="{Binding RatePerTon, StringFormat=\{0:n0\}}" FontFamily="B Nazanin" FontWeight="Bold"/>
        <DataGridTextColumn Header="Discount" Binding="{Binding Discount}" FontFamily="B Nazanin" FontWeight="Bold"/>
        <DataGridTextColumn Header="Final_" Binding="{Binding Final_Cost,StringFormat=\{0:n0\}}" FontFamily="B Nazanin" FontWeight="Bold"/>
        <DataGridTextColumn Header="Payment_" Binding="{Binding Payment_Mode}" FontFamily="B Nazanin" FontWeight="Bold"/>
        <DataGridTextColumn Header="status" Binding="{Binding Status}" FontFamily="B Nazanin" FontWeight="Bold"/>
        <DataGridTemplateColumn Width="80" >

            <DataGridTemplateColumn.CellTemplate >
                <DataTemplate>
                    <Button x:Name="closeorderbtn" Content=""   Click="CloseOrder" Background="#FF5890BF" Foreground="#FFBFBCBC"   />


                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>

</DataGrid>

CS

IQueryable<Order> result;

result = (from s in ManagerClass.oSqlData.Orders select s);

dataGrid.ItemsSource = result;
IQueryable结果;
结果=(从ManagerClass.oSqlData.Orders中的s选择s);
dataGrid.ItemsSource=结果;

您可以将
样式
数据触发器一起使用

<Button x:Name="closeorderbtn" Content="" Click="CloseOrder" Background="#FF5890BF" Foreground="#FFBFBCBC">
    <Button.Style>
        <Style TargetType="Button">
            <Setter Property="Content" Value="Open Order" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding Status}" Value="Accepted">
                    <Setter Property="Content" Value="Close Order" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

它的可能副本显示了如何更改按钮的内容