基于 Uniformgrid 的 C# WPF UserControl

C# WPF UserControl based on Uniformgrid

我想在UniformGrid的基础上做用户控件。使用office时出现错误:The 属性 'Content' is set more than once

AdaptiveLayout.xaml

<UserControl x:Class="App.Controls.AdaptiveLayout"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:element="clr-namespace:App.Controls"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <UniformGrid SizeChanged="UniformGrid_SizeChanged">
        <ContentPresenter></ContentPresenter>
    </UniformGrid>

</UserControl>

MainWindow.xaml

...
<controls:AdaptiveLayout TransferringAfter="190">
         <controls:TextBoxWrapControl LabelContent="FirstName"></controls:TextBoxWrapControl>
         <controls:TextBoxWrapControl LabelContent="LastName"></controls:TextBoxWrapControl>
 </controls:AdaptiveLayout>
...

您在您的用户控件中使用一个UniformGrid,但这实际上并没有使成为一个。这就是为什么它在您的 MainWindow.xaml 中抱怨您为 AdaptiveLayout 设置了多个内容。 您可以尝试扩展 UniformGrid 而不是使用它。