是否有一种在XAML中嵌入字符串,提供其ID和ID并在以后引用它的方法。
我尝试过:
<Window x:Class="WpfApp1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
Title="Window1" Height="300" Width="500">
<Grid>
<System:String>Test</System:String>
</Grid>
</Window>
并得到错误:无法将类型为“字符串”的实例添加到类型为“ UIElementCollection”的集合中。仅允许使用'UIElement'类型的项目。
如果我将字符串嵌套在XAML中的其他位置,可以这样做吗?或在非UI元素内?那我只给它一个Name属性吗?
Window.Resources
这是Page的示例,在您的情况下,它将是Window.Resources
标签:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib">
<Page.Resources>
<System:String x:Key="MyString">Hello</System:String>
</Page.Resources>
<Grid>
<TextBlock Text="{StaticResource MyString}"></TextBlock>
</Grid>
</Page>
xmlns:system="clr-namespace:System;assembly=mscorlib">
没有以上代码,Visual Studio将抱怨缺少程序集引用。
<Window.Resources>
部分中即可。类似于:<Window.Resources>
<System:String x:Key="TestString">Test</System:String>
</Window.Resources>
如果需要更改显示在网格中的字符串的值,则需要使用TextBlock或其他可以设置Content属性的控件。