【发布时间】:2010-10-07 00:23:07
【问题描述】:
我在创建一个会绑定到页面上显示的键盘布局的 xaml 页面时遇到了一些问题。最初我有一个 ObservableCollection 行,其中包含指定按钮宽度的 KeyboardKey 数据类型。集合绑定到 xaml 中的列表框。我遇到的问题是,在某些键盘上,键的高度跨越两行,xaml 列表框不支持。我想避免在 xaml 中硬编码一堆键。关于如何解决这个问题的任何想法?
【问题讨论】:
我在创建一个会绑定到页面上显示的键盘布局的 xaml 页面时遇到了一些问题。最初我有一个 ObservableCollection 行,其中包含指定按钮宽度的 KeyboardKey 数据类型。集合绑定到 xaml 中的列表框。我遇到的问题是,在某些键盘上,键的高度跨越两行,xaml 列表框不支持。我想避免在 xaml 中硬编码一堆键。关于如何解决这个问题的任何想法?
【问题讨论】:
您可以创建自己的布局,购买继承容器控件之一并覆盖 ArrangeOverride 方法。
您可以在此处找到示例:http://www.wpftutorial.net/CustomLayoutPanel.html
当我创建虚拟键盘时,我拒绝了自动布局并将按钮手动放入设计器中。我认为在某些文化中最好将关键行放置水平移位,而在其他文化中最好将按钮放在彼此下方。所以我有一个灵活的布局,可以在设计器中快速编辑。
【讨论】: