是否可以连接几个字符串来组成一个x:Name?比如,我能做这样的事吗?
<Label Grid.Column="1"
x:Name="CheckoutStatus_{0}, {Binding Path=DriveItem.Name}"
Text="{Binding Path=DriveItem.Publication.Level,Converter={StaticResource IconValueConverter}}"
FontFamily="Segoe MDL2 Assets"
FontSize="Small"
PropertyChanged="CheckoutStatusChanged"/>
这样,在事件处理程序中,我可以这样做(伪代码):
private void CheckoutStatusChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
var selectedLabel = (Label)sender;
if the label name contains string "CheckoutStatatus"
extract the filename from the current label
do some other stuff.
}
我如何获取x:Name中的值并解析文件名?如果我能得到文件名,我想我就能知道如何解析了。
是否可以连接几个字符串来组成一个x:Name?
简短回答:No.
x:Name
XAML属性不能动态设置。
在WPF中,Label
控件驻留的地方,有一个Name
依赖属性,您可以通过以下方式绑定:
<Label Name="{Binding SomeProperty}" />
在UWP中,您必须使用另一个属性,例如Tag
或自定义附加属性。