假设我在WPF应用程序的TabControl上有十个文本框。我的目的是设置tabcontrol的IsReadOnly,使其上的每个文本框都自动设置为ReadOnly。但TabControl似乎没有IsReadOnly属性。
我怎样才能实现这一目标?
答案 0 :(得分:2)
一种方法是创建自己的tabcontrol。然后添加DependencyProperty IsReadOnly。如果你完成了,你可以将所有TextBoxes IsReadOnly绑定到你的TabItem IsReadOnly。
答案 1 :(得分:2)
您可以在TabControl的资源中添加TextBox样式:
<TabControl.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="IsReadOnly" Value="{Binding IsReadOnly}" />
</Style>
</TabControl.Resources>
答案 2 :(得分:1)
我能想到的最佳方法:将ReadOnly属性附加到TabControl类型:
创建一个新的帮助类:
public static class TabControlHelper
{
private static readonly DependencyProperty IsReadOnlyProperty =
DependencyProperty.RegisterAttached("IsReadOnly", typeof(bool), typeof(TabControlHelper), new PropertyMetadata(false));
}
然后在你的xaml:
<TabControl TabControlHelper.IsReadOnly="true">...</TabControl>
然后您可以在标签控件的每个文本框中继承此值。