2016-10-16 5 views
-1

UniformGridに基づいてユーザーコントロールを作成しようとしています。オフィスのエラーを使用している場合表示されます。プロパティ 'コンテンツ' を設定さを超えるUniformグリッドに基づくC#WPF UserControl

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> 
... 
+0

"UniformGridに基づいてユーザーを制御する"ようにし、子要素を追加する場合は、(コントロールではなく)UniformGridを直接使用できない理由を説明する必要があります。あなたは正確に何を達成しようとしていますか? – Clemens

+0

要素には浮動小数点があり、コンテンツの幅を変更すると同時に伸びます。 https://s3.postimg.org/wc2dqkayb/323.png – murash

+0

[カスタムパネル](https://msdn.microsoft.com/en-us/library/ms754152(v=vs.110))を作成してください。 .aspx#Panels_custom_panel_elements)。 – Clemens

答えて

0

あなたはUniformGrid内をを使用しているかつてあなたのUserControl、しかしそれは実際にに1つにすることはありません。そのため、あなたのMainWindow.xamlでは、AdaptiveLayoutに複数のコンテンツを設定していると不平を言っています。 UniformGridを使用する代わりに延長できます。

+0

私はそれについて読むことができるチュートリアルへのリンクを与えてください? – murash

+0

それは魔法ではありません。継承を使用する他のクラスと同じように 'UniformGrid'を拡張する新しいクラスを作成してください。コンストラクタでは、SizeChangedイベントの独自のイベントハンドラを登録することができます。 –

関連する問題