【发布时间】:2012-03-13 05:06:04
【问题描述】:
我有一个元素,它的 Content 属性中有 TextBlock 和 TextBox。我需要为 TextBox 设置 TextAlignment 而不会干扰控件的当前样式,所以我应该让它以某种方式与 Setter Property 和 xaml 一起工作。
这可能吗?怎么做?我不想用我自己的控件重新创建内容,或者通过样式设置它,因为样式可以在运行时更改,我想保留样式原样。
编辑:一个例子是DataForm。 DataForm 由几个 DataField 元素组成。每个 DataField 都由一个标签和输入控件组成。现在,通常我可以这样做
<DataField Label="{Binding ...}">
<TextBox Text="{Binding ...}" TextAlignment="Right" />
</DataField>
但如果我这样做,我会失去我想要避免的 DataField 的样式。那么,有没有一种方法可以访问 DataField 的 TextAlignment 属性,所以我可以将其设置为 Right,但不是针对所有这些属性,只是我想要的那些(例如数字)。这就是为什么它应该在 DataField 的特定实例上完成。
因此任务:将 DataField Text 设置为右对齐,而不影响其样式,并对特定 DataField 执行此操作。
我希望现在更清楚了。
【问题讨论】:
-
你要添加什么样的元素?
-
我没有添加任何东西,它们已经存在于这个元素的内容中。这是第 3 方元素。假设您有一个 ListBoxItem,它的 Content 属性中有一个 TextBlock 和 TextBox。我需要设置 TextBox 的 TextAligned 属性而不干扰 ListBoxItem 的样式。
标签: silverlight xaml silverlight-5.0