[英]Why DataGrid doesn't lose focus with ToolBar-Click?
我有一个带有按钮的ToolBar和一个DataGrid和一个单独的Button。 当我编辑单元格(EditMode),然后单击“单独”按钮时,该单元格离开EditMode并提交更改。
但是,当我单击工具栏上的按钮时,单元格不会离开EditMode并且不会提交其更改。
单击工具栏按钮时,如何强制单元格提交其更改?
XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="DataContextSample" Height="543.538" Width="733.463"
xmlns:self="clr-namespace:WpfApplication1">
<DockPanel Margin="15">
<ToolBar DockPanel.Dock="Top" Height="40">
<Button Width="150" Height="20">ToolBarBUtton</Button>
</ToolBar>
<Button DockPanel.Dock="Top" Height="20" Width="150">Button</Button>
<DataGrid DockPanel.Dock="Top" Name="DataGridJobConfigurations" ItemsSource="{Binding}" VerticalScrollBarVisibility="Auto">
</DataGrid>
</DockPanel>
</Window>
C#:
namespace WpfApplication1
{
/// <summary>
/// Interaktionslogik für MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<Data> dataList = new List<Data>();
dataList.Add(new Data(1));
dataList.Add(new Data(2));
dataList.Add(new Data(3));
dataList.Add(new Data(4));
this.DataContext = dataList;
}
}
class Data {
public Data(int i) {
Number = i;
}
public int Number { get; set; }
}
}
您可以将Toolbar
的附加FocusManager.IsFocusScope
属性设置为false
:
<ToolBar DockPanel.Dock="Top" Height="40" FocusManager.IsFocusScope="False">
<Button Width="150" Height="20">ToolBarBUtton</Button>
</ToolBar>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.