1つのウィンドウに1800行XAML定義を使用する必要があり、コードの量を大幅に削減したいと考えています。統合されたテキストボックスでボーダースタイルを作成
非常に頻繁に繰り返されるいくつかのコントロール定義があり、その中にはいくつかのスタイルを記述したいと思います。一例は、統合されたテキストボックスとボーダーの定義である:バインディングパスのほかに
<Border Grid.Column="2" Margin="1,1,5,0" Background="#bbc2ce">
<my:RibbonTextBox HorizontalContentAlignment="Center"
IsReadOnly="True" Background="#FAFAFA"
Text="{Binding Path=someViewModel.Item,Mode=OneWay}"
MinHeight="0" FontSize="12" FontWeight="Bold" FontFamily="Arial"/>
</Border>
、すべての値は、まったく同じ何度も何度もあります。だから私はRibbonTextBoxために、このスタイルを書いた:
<Style TargetType="my:RibbonTextBox" x:Key="StandardRibbonTextBox">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="Background" Value="#FAFAFA" />
<Setter Property="MinHeight" Value="0" />
<Setter Property="FontSize" Value="12" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontFamily" Value="Arial" />
</Style>
は今、私は上記の境界線のスタイルを書き、RibbonTextBoxスタイルを統合したいです。ここまでです。
<Style TargetType="Border" x:Key="borderStyle">
<Setter Property="Background" Value="#bbc2ce" />
</Style>
ここにTextBoxスタイルを統合する可能性はありますか?そうでない場合、誰かがこの問題を解決する方法を知っていますか?
ありがとうございます!あなただけの読み取り専用テキストボックスが必要な場合は
いいえ「Border.Child = TextBox」は、親のコントロールテンプレートを再定義しない限り、ネストされたコントロールに対して異なるバインディングを設定することはできません。いずれかの2つのスタイルを作成します。コントロールの繰り返し可能なレイアウト(グループ)を使用する必要がある場合は、 'UserControl'の使用を検討してください。 – Sinatr
@Sinatr:ありがとう! – Joshit