固定リソースをruntineの間に変更することはできません。Silverlight:実行時に静的リソースのプロパティを変更する
私は単純な数字を表示するTextBoxを持っています。その後、私はラウンドのTextBoxになるためのTextBoxのテンプレートを変更し、スタイル、定義されています:あなたが見ることができるように
<Style x:Key="RoundNumberDisplay" TargetType="TextBox">
<Setter Property="Width" Value="22"/>
<Setter Property="Height" Value="22"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border x:Name="brd1" Width="20" Height="20" CornerRadius="15">
<TextBlock x:Name="txt1" Foreground="#222" TextAlignment="center" Text="1" FontSize="14" FontWeight="ExtraBold" VerticalAlignment="center" />
<Border.Background>
<RadialGradientBrush GradientOrigin=".3, .3">
<GradientStop Color="{StaticResource ColorBackground1}" Offset=".15"/>
<GradientStop Color="{StaticResource ColorForeground1}" Offset="1"/>
</RadialGradientBrush>
</Border.Background>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
を、表示されたテキストは、「ハードワイヤード」のTextBlock「TXT1」です。明らかに、ランタイム中に番号を変更することはできません。
私の質問は今です:表示された番号を変更する最善の方法は何ですか?各番号のスタイルを作成することは、私にとっては少し効果がありません。実際にあなたが再利用このスタイルを複数回行う必要がありますので、事前に
おかげで、 フランク
私は、ターゲットのTextBoxのテキストプロパティを使用していないとしてではなく、テキストを表示するためにControlTemplateのTextBlockの「TXT1」のテキストプロパティ、テキストボックス」テキスト・プロパティの値が上書きされます。 TemplateBindingを使用して、ターゲットTextBoxからTextBlockにText-Valueを取得する必要があります(自分の自己回答参照) – Aaginor