
我用模板列完成了楼主提出的功能!~望采纳!~
前端:
<Grid>
<DataGrid AutoGenerateColumns="False" Name="dataGrid1" >
<DataGridColumns>
<DataGridTextColumn Binding="{Binding Key}"/>
<DataGridTemplateColumn Header="时间">
<DataGridTemplateColumnCellTemplate>
<DataTemplate>
<TextBlock MouseDown="txtdate_MouseDown" Name="txtdate"/>
</DataTemplate>
</DataGridTemplateColumnCellTemplate>
</DataGridTemplateColumn>
</DataGridColumns>
</DataGrid>
</Grid>
后台:
public MainWindow()
{
InitializeComponent();
Dictionary<int, string> dic = new Dictionary<int, string>
{
{1,"a"},
{2,"b"},
{3,"c"},
{4,"d"},
{5,"e"}
};
dataGrid1ItemsSource = dic;
}
private void txtdate_MouseDown(object sender, MouseButtonEventArgs e)
{
TextBlock tb = sender as TextBlock;
tbText = DateTimeNowToShortTimeString();
}这个很简单哈,只是编辑的时候出现用来编辑的控件(如textbox或combobox),那就编辑 <DataGridTemplateColumnCellEditingTemplate>就行啦!~ 默认显示空白的话,<DataGridTemplateColumnCellTemplate>里控件所绑定的字段默认值没有就行了哈。
背景色的变化,可以在IsFocused事件中写。
至于输入完成后textBox失去焦点,可以textbox接收到回车按键事件和失去焦点这个两个事件中,将焦点转移到其他的Element上去。
例如
GridIsFocusable = true;
GridGetFocus();
GridIsFocusable = false;
不知道 键盘控件 是否和 TextBox 同在一个 Windows 中
如果是, 将 键盘控件按钮的 Focusable 属性置为 False,
当点击 Button 时, Input 的焦点并不切换, 并不需要写切换回的代码
如果在 Button Click 时想得到当前 处于输入(inputable) 状态的控件(例如 TextBox), 可以在 Click 事件中:
IInputElement iie=SystemWindowsInputFocusedElement;
if(iie is TextBox) MessageBoxShow((iie as TextBox)Text);
如果 处于输入状态的控件(如 TextBox) 和你的键盘控件不在同一窗口, 可以在 处于输入状态的控件失去焦点时记下此控件, 以便你在处理按钮事件时用
另一个方法是, 你自定义的控件 可以增加一个 DependencyProperty 来绑定当前处于输入状的控件 因为你总需要一个事件来激活虚拟键盘, 在这个事件中设置此属性
代码本身没问题,如果把代码放在按钮里执行能够达到效果,现在无效应该是执行顺序问题。
在窗口启动时,会根据每个空间的tab值把焦点置于tab值最小的控件上,这个过程如果在form_load事件之后,控制焦点的代码就白做了。我试了一下,把代码放在form_activated代码里就可以了,应该是激活事件比较靠后吧。
需要这么两步:
第一,在XML中控件的属性中加上以下这么两项属性
Android:focusable="true"
android:focusableInTouchMode="true"
第二,在代码中用调用requestFocus()方法,这样就可以顺利的将焦点主动的设置到该控件上了。
以上就是关于wpf datagrid怎么得到第一项焦点然后在方向键上下移动全部的内容,包括:wpf datagrid怎么得到第一项焦点然后在方向键上下移动、WPF 处理textbox的样式问题,点击获得焦点背景颜色变化,当点击窗体其他地方(非控件),textbox自动、WPF虚拟键盘如何不获得当前焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)