XAML:如何在纯XAML中引用StaticResource?(不使用标记扩展)

4

我正在为一系列文本框设置验证规则。我不想为每个文本框创建一个新的自定义验证规则实例...

<Window.Resources>
  <my:IsIntegerRule x:Key="IsIntegerRule"/>
</Window.Resources>

...
...

<TextBox>
    <TextBox.Text>
      <Binding XPath="@num" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay">
         <Binding.ValidationRules>

            <-- WHAT IS THE EQUIVALENT OF WRITING: {StaticResource IsIntegerRule} here -->

         </Binding.ValidationRules>
      </Binding>
     </TextBox.Text>
 </TextBox>

有人可以帮忙吗?

1个回答

8
您可以使用普通的属性元素语法来进行标记扩展。请参见标记扩展和 WPF XAML。它看起来像这样:
<Binding.ValidationRules>
    <StaticResource ResourceKey="IsIntegerRule"/>
</Binding.ValidationRules>

感谢@Quartermeister,我在我的代码中加入这段代码之后,在XAML编辑器中出现了“无效类型”错误。然而它的表现非常好。 - manu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接