WinRTアプリのC#でスタイルをTextBlockに設定するにはどうすればよいですか?
textblock.Style = ???
ここで何ができますか?
WinRTアプリのC#でスタイルをTextBlockに設定するにはどうすればよいですか?
textblock.Style = ???
ここで何ができますか?
「承認された」回答は、C#のコードビハインドでそれを行う方法の問題に対処していませんでした。これは、元の投稿が求めていたものだと私は思っていました。
この問題に対処するには:たとえば、SearchBoxフライアウトを表示することを目的としたButtonに基づくテンプレート化されたコントロールがある場合、次のようにボタン初期化コード内でフライアウトを定義できます。
SearchBox searchBox = new SearchBox()
{
Style = Resources["SearchBoxCustomStyle"] as Style,
};
ここでは、カスタムリソースがSearchBox.Styleプロパティに適用されました。上記の構文は、次のようなコントロールのXAML内のリソース参照を前提としています。
<Button.Resources>
<ResourceDictionary Source="ms-appx:///Control_Assembly_Name/StandardStyles.xaml">
</ResourceDictionary>
</Button.Resources>
この場合、カスタムボタンコントロールを含むプロジェクトには、次のようにリソース「SearchBoxCustomStyle」を定義するStandardStyles.xamlが含まれています。
<Style x:Key="SearchBoxCustomStyle" TargetType="SearchBox">
.
.
</Style>
XAML / C#では、要素自体に個々のスタイルプロパティを設定できます...
<TextBox Background="#FFEED908" FontSize="18" FontFamily="Stencil" x:Name="textBox" Text="TextBox" />
XAMLをVSで直接編集すると、さまざまなプロパティを検出できるIntellisenseを取得できます。ただし、アイテムを選択し、[プロパティ]ダイアログウィンドウを使用して視覚的にプロパティを編集する方がはるかに簡単です。
再利用可能なスタイルが必要な場合は、要素を選択してから、[フォーマット]->[スタイルの編集]->[コピーの編集](または[空の作成...])を選択する必要があります。その後、スタイルデザインモードになり、XAMLで視覚的または直接スタイルを更新できます。次に、そのスタイルを次のような他の要素で再利用できます。
<TextBox Style="{StaticResource MyStyle}" x:Name="textBox" />
インラインスタイル(css)のフォーマットを追加する必要があります。たとえば、背景を黒、高さ20ピクセル、幅20ピクセルにしたい場合は、次のようにします。
textblock.style = "background-color: black; height: 20px; width: 20px;";