Wpf Datagrid在单击时更改同一行中的元素

时间:2015-10-30 19:27:42

标签: c# wpf datagrid

当用户点击位于上一个单元格的按钮时,我正在尝试更改进度条。但我无法做到。

enter image description here

当用户单击同一行中的“开始”按钮时,必须更改进度条值。但我无法访问该元素。但重要的是Exp To Level不是类绑定的属性。它是DataGridTemplateColumn

我工作的当前状态,我可以到达行元素和发件人。但我不能超过这个。

    private void start_Button(object sender, RoutedEventArgs e)
    {
        FrameworkElement ownerGui = ((FrameworkElement)sender);
        MaClass obj = ownerGui.DataContext as MaClass;
    }

我想更改进度条的Value

这是我的XAML部分

           <DataGrid.Columns>
            <DataGridTemplateColumn Header="Actions">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Button Name="start_stop" Content="Start" Click="start_stop_Button"/>
                            <Button Name="log_button" Content="Logs" Click="log_Button"/>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Exp To Level">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Grid>
                            <ProgressBar Value="50" Width="auto"/>
                            <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Exp To Level</TextBlock>
                        </Grid>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>

1 个答案:

答案 0 :(得分:0)

您可以在viewModel中定义进度条值属性并绑定到ProgressBar。点击按钮,您可以更新它的值。请参阅下面的参考代码:

{{1}}