如何连接多个字符串以组成 xamarin UWP 中的 x:Name?

Posted

技术标签:

【中文标题】如何连接多个字符串以组成 xamarin UWP 中的 x:Name?【英文标题】:how to concatenate multiple strings to make up an x:Name in xamarin UWP? 【发布时间】:2021-12-11 20:57:47 【问题描述】:

是否可以连接几个字符串来组成一个 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 中的值并解析文件名? 如果我能得到文件名,我想我可以弄清楚如何解析。

【问题讨论】:

【参考方案1】:

是否可以连接几个字符串来组成一个 x:Name?

简短回答:不。

x:Name XAML 属性不能动态设置。

Label 控件所在的 WPF 中,有一个 Name 依赖属性,您可以绑定到:

<Label Name="Binding SomeProperty" />

在 UWP 中,您必须使用其他属性,例如 Tag 或自定义附加属性。

【讨论】:

以上是关于如何连接多个字符串以组成 xamarin UWP 中的 x:Name?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xamarin UWP 中打印具有多个页面的 WebView

Xamarin.Forms (UWP) - 如何获取 WebView 的 DOM 作为 HTML 字符串?

如何在 Xamarin Forms 中以适当的图像比例在 UWP 中设置 SpashScreen?

Xamarin.Forms UWP 应用程序在运行时使用 .net 本机工具链失败,但以其他方式工作

如何检测 xamarin UWP 应用程序中标签元素的文本值更改?

如何更改 Xamarin UWP 应用名称