创建可重用 wpf 元素的方法?

klu*_*991 1 c# wpf xaml

我绝对是 wpf 的新手,我想知道,对于以下情况我能做什么(例如):
我有一个 xaml 标记文件,在该文件的某处我声明了两个<Border>元素,并且每个元素都有嵌套元素:

<Border Grid.Row="1">
    <StackPanel>
        <TextBox Text="1st el"/>
        <ComboBox ItemsSource="{Binding }">
    </StackPanel>
</Border>

<Border Grid.Row="2">
    <StackPanel>
        <TextBox Text="2nd el"/>
        <ComboBox ItemsSource="{Binding SomeVMProp}">
    </StackPanel>
</Border>
Run Code Online (Sandbox Code Playgroud)

一切正常,但这段代码似乎违反了 DRY 原则。这是我的问题:

  • 重构此代码的正确方法是什么(我的意思是创建可重用元素(StackPanel + Border))?
  • 保存可重用元素代码的正确位置是什么?
  • 将我的可重用元素包含到具体视图的 xaml 中的正确方法是什么?
  • 对此还有其他建议吗?

PS抱歉,如果我的问题不正确,但我希望有人能给我一个处理此类情况的想法。

小智 6

右键单击您的项目,然后单击“新建”->“用户控件”。将其命名为您想要的任何名称。将 XAML 粘贴到您想要的位置。

通过引用 .xaml 在 MainWindow.xaml(或任何主窗口的名称)中使用它<local:MyUserControl/>