Select Child XAML 中的 UserControl 控件

Select Child Control of UserControl in XAML

这是一个一般的语法问题。

我有一个用户控件

<UserControl x:Class="UserControlTest.Views.MyControl">
            
            <StackPanel Name="StackPanel1">
                <Button Name="Button1" Content="Hello From UserControl XAML"/>
                <Button Name="Button2" Content="Hello From UserControl XAML"/>
            </StackPanel>

</UserControl>

和 Window

<Window xmlns:views="using:UserControlTest.Views"
        x:Class="UserControlTest.Views.MainWindow">

    <views:MyControl Name="MyControl1"></views:MyControl>

</Window>

有没有办法像我在 cs 中那样 select 来自 XAML 的 MainWindow 的 child 元素的属性?

所以基本上我正在寻找一个 XAML 等价物

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.Get<UserControl>("MyControl1").Get<Button>("Button1").Content = "Hello From Window CS";
    }
}

我希望的是类似这样的东西:

<Window xmlns:views="using:UserControlTest.Views"
        x:Class="UserControlTest.Views.MainWindow">

    <views:MyControl Name="MyControl1">
        <views:MyControl ??? Button1> Hello From Window XAML <views:MyControl ??? Button1>
    </views:MyControl>
</Window>

这只是关于 select 从 XAML 外部对 child 进行处理。这不是关于设置可以通过绑定和适当的 class 定义实现的值。

不确定这是否是您要查找的内容,但您可以使用样式和select您感兴趣的控件:

<views:MyControl>
  <views:MyControl.Styles>
    <Style Selector="Button#Button1">
      <Setter Property="Content" Value="Hello From Window XAML"/>
    </Style>
  </views:MyControl.Styles>
</views:MyControl>

您可以阅读有关 select 或 here

的更多信息