私はコントロールテンプレートに苦しんでいます。私は現在、より基本的なコントロールから基本的に構築されたいくつかのペインを持つUIを構築しています。ここWPFテンプレート内のコントロールにアクセスしてデフォルト値を提供する方法は?
は、私たちの建設ペインの一つは、今のように見える方法は次のとおりです。あなたはそれが本当にだテンプレートから見ることができるように
<ControlTemplate x:Key="StringCtrl" TargetType="ContentControl">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Name="ctrlText" Margin="0,0,5,0" Text="{TemplateBinding Content}"></TextBlock>
<TextBox Name="ctrlDefaultValue" Grid.Column="1" />
</Grid>
</ControlTemplate>
:
<Grid>
<StackPanel>
<ContentControl Template="{StaticResource ConstructionBorderCtrl}">
<ContentControl Template="{StaticResource StringCtrl}" Content="Cash Event Value:"/>
</ContentControl>
<ContentControl Template="{StaticResource ConstructionBorderCtrl}">
<ContentControl Template="{StaticResource RateCtrl}"></ContentControl>
</ContentControl>
<ContentControl Template="{StaticResource ConstructionBorderCtrl}">
<ContentControl Grid.Row="0" Template="{StaticResource FromCtrl}"></ContentControl>
</ContentControl>
<ContentControl Template="{StaticResource ConstructionBorderCtrl}">
<ContentControl Grid.Row="0" Template="{StaticResource StartEndDateCtrl}"></ContentControl>
</ContentControl>
<ContentControl Template="{StaticResource ConstructionBorderCtrl}">
<ContentControl Grid.Row="0" Template="{StaticResource ComboStringCtrl}">Applicable Size:</ContentControl>
</ContentControl>
</StackPanel>
</Grid>
は、ここでは一例としてStringCtrlためのテンプレートですラベルとテキストボックス。ここでは、テキストボックスにデフォルト値を指定し、ユーザー入力の検証を実行するとしますが、親コンストラクトペインからそのコンテキストを指定し、テンプレート内の個々の要素にバインドしたいとします。それをどうやってやりますか?
はあなたが間違った方向に行っているように私に感じます。なぜこのためにテンプレートを使用していますか?モジュラーデザインを作成しようと思っているのであれば、UserControlsを使用してください。 –