如何为Tabcontrol里的控件绑定事件?

让你望见影子的墙 2014-08-11 05:16:12
问题:
在Tabcontrol里有四个TabItem,然后每个Tabitem里都有各一个datagrid(每个datagrid绑定的数据不同),每个datagrid后面有一列,放的button,用来进行一些相应的操作。请问如何为button绑定事件来完成功能呢?谢谢。

如果不放到tabControll里,datagrid中button事件的绑定通过这个
<Window.CommandBindings>
<CommandBinding Command="local:MyCommands.Dial" Executed="OnDial" />
</Window.CommandBindings>
可以实现,但是把datagrid放到tabcontrol里面就用不成了,该如何实现呢?
...全文
441 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Code Jie 2015-10-15
  • 打赏
  • 举报
回复
TabControl Datagrid如何 绑定数据
exception92 2014-08-12
  • 打赏
  • 举报
回复
引用 6 楼 HEROWANG 的回复:
解决了。方法贴一下,在每个datagrid中增加一个事件 private void dgEmaillRecord_SelectionChanged(object sender, RoutedEventArgs e) { e.Handled = true; } 就OK了
你这个是 阻止事件冒泡 向上传播。真实这块的原因,到时命令没有被执行。
  • 打赏
  • 举报
回复
解决了。方法贴一下,在每个datagrid中增加一个事件 private void dgEmaillRecord_SelectionChanged(object sender, RoutedEventArgs e) { e.Handled = true; } 就OK了
  • 打赏
  • 举报
回复
原因貌似找到了。我在tabcontrol控件中增加了一个事件 SelectionChanged="tabRecord_SelecttionChanged"(这个事件用来在各个tabitem中进行切换)。有可能是这个事件导致按钮不能执行。因为去掉这个事件后,按钮就可以执行了。请问该怎么解决呢?
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
datagrid后面有一列,放的button 把这一列的XAML代码贴出来
XAML代码如下:
<DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding ID}" ClipboardContentBinding="{x:Null}" Header="序号" Width="50" />
                               <DataGridTemplateColumn ClipboardContentBinding="{x:Null}" Header="操作" Width="80">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Button x:Name="bt_Dail" Content="{Binding Dail}"                                    
                                    CommandParameter="{Binding DialPara}" Width="80"
                                    Command="local:MyCommands.Dial"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
另外:如果不放在tabcontrol中的话,该按钮的命令能够实现。但是放到tabcontrol中就不行了。 我的实现方法也贴一下: 在XAML中
    <Window.CommandBindings>
        <CommandBinding Command="local:MyCommands.Dial" Executed="OnDial" />
    </Window.CommandBindings>
在cs文件中
 public class MyCommands
    {
        public static RoutedCommand Dial = new RoutedCommand("Dial", typeof(WorkUC.Chart.TelRecord));
    }

public void OnDial(Object sender, ExecutedRoutedEventArgs args)
        {
              //代码略
        }
exception92 2014-08-11
  • 打赏
  • 举报
回复

<DataGridTemplateColumn Header="Operating Items" MinWidth="250">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                            <Button Content="Edit" x:Name="btnEdit" Width="50" Height="28" Margin="5,0,0,0" PreviewMouseLeftButtonDown="Button_PreviewMouseLeftButtonDown" ></Button>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
使用模板列
DataGridTemplateColumn
exception92 2014-08-11
  • 打赏
  • 举报
回复
datagrid后面有一列,放的button 把这一列的XAML代码贴出来
E次奥 2014-08-11
  • 打赏
  • 举报
回复
我不知道你说的到底是 事件 还是 命令
CSKIN-15.1.28 1.优化SkinTabControl标签移入移出效果。 2.将SkinTextBox改为容器边框,其他控件可放进其面。 3.设置SkinTextBox中的TextBox为不可点击,详细参数在属性栏设置。 4.SkinPanel添加属性(BorderColor:边框颜色)。 5.添加(SkinPushPanel:抽屉控件列表,根据Items添加。)和(SkinCaptionPanel:面板控件单独)。 6.添加(SkinCode:验证码控件。)。 7.减少SkinTreeView的闪烁。 8.窗体XP下最大化移动BUG修复。 9.修复SkinButton的禁止状态绘制不显示的问题。 10.修复SkinDataGridView的一些设置BUG。 11.修复SkinRadioButton属性Text为空报错问题。 12.修复属性(Shadow:是否启用窗体阴影)。 13.加入(日期面板控件:SkinMonthCalendar),(日期选择框控件:SkinDateTimePicker)。 14.加入(弹出承载控件:SkinDropDown) 使用方法: SkinDropDown _SkinDropDown = new SkinDropDown(控件:Control); _SkinDropDown.Show(new Point(0, 22)); 15.添加SystemInformationHelper静态类,获得操作系统版本。 16.添加控件(SkinHotKey:自定义热键注册控件)。 17.窗体添加属性(XTheme:窗体主题,类型:继承CCSkinMain的窗体),增加皮肤更换属性,更好的对换肤支持。 18.增加了MDI支持,并多了一些属性设置MDI。 19.对好友列表进行了绘制优化,效率MAX,真正达到了千人不卡。 20.好友列表添加属性(SmoothScroll:是否平滑滚动),对好友列表加入平滑滚动的效果。 21.修复异形窗体SkinMain不可在透明区域放控件的BUG。 22.好友列表好友拖动效果优化。 23.解决SkinMain异形窗体无法点击触发点击事件问题。 24.修复SkinToolTip的字体颜色及大小BUG。 CSKIN-14.8.26 1.修复SkinPanel滚动条不显示的问题。 2.修复SkinPanel右下边框不显示的问题。 3.修复好友列表头像闪烁的一些BUG。 4.修复SkinMain异形窗体点击任务栏最小化操作。 5.加入内置工具类FastBitmap,此类用来快速Bitmap读写像素,如何使用看:http://bbs.cskin.net/thread-83-1-1.html。 6.修复截图控件的未选框双击错误BUG,增加截图控件属性BmpLayerCurrent:控件所截图的图片。 7.SkinToolStrip添加BaseItemNorml属性,BaseItem默认背景图。 8.修复SkinComboBox下拉框项的细节样式。 9.加入SkinFileTansfersContainer控件与SkinFileTransfersItem控件。 SkinFileTansfersContainer:文件传输列表容器,这面内置Add,Remove,Search等操作ItemList方法。 SkinFileTransfersItem:文件传输列表项,用于添加进列表容器。 10.SkinToolStrip控件添加BindTabControl=(绑定要操作的TabControl)属性,绑定后点击ToolStripButton就可以根据ToolStripButton中的Tag=(TabPage的Index值)进行切换TabPage。 11.优化设计时SkinTabControl略卡的问题。 12.SkinTabePage添加属性(BorderColor:边框颜色)。 13.修复好友列表闪烁状态下好友被删除,分组依然闪烁。 14.SkinButton、SkinCheckBox、SkinRadioButton添加属性(IsEnabledDraw:是否画禁用状态下的效果,默认true)。 15.好友列表添加三个事件: (DownSubItem:用鼠标按下子项时发生) (UpSubItem:用鼠标按下并释放子项时发生) (ClickSubItem:用鼠标单击子项时发生) 16.SkinTabControl添加两个事件: (TabePageClosed:TabPage容器关闭后。) (TabePageClosing:TabPage容器关闭前。) 17.加入彗星小助手案例DEMO。 CSKIN-14.7.2 1.SkinTabContro

8,736

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧