targettypeのすべてのコントロールにテーマ/テンプレート/スタイルを自動的に適用する方法はありますか?すべてのコントロールでTemplate = ...、Style = ...を指定する必要はありませんか?
1365 次
3 に答える
2
x:Key 属性を省略するだけでこれを行う方法があると思いましたが、それはもう機能していないようです。いくつかのグーグルに基づいて、カスタムスタイルを定義するthemes/generic.xamlファイルを持つ独自のカスタムコントロールライブラリを作成するのが最善のようです。次に、適切にスタイル設定された独自の要素を使用できます (ボタンの代わりに MyButton)。それかStyle プロパティに固執してください。
更新:ここでこれの本当に良い例を見つけました(すでに見たことがあると思います:)。
于 2008-10-08T18:04:59.507 に答える
1
すべてのコントロールのテーマを設定するには、スタートアップイベントを作成し、スタートアップイベントハンドラーでテーマを設定します。そのテーマは、そのソリューションのすべてのユーザーコントロールに適用されます。
//App.xaml
<Application x:Uid="Application_1" x:Class="SampleApp.Home.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
Startup="Application_Startup">
//App.xaml.cs
private void Application_Startup(object sender, StartupEventArgs e)
{
StyleManager.ApplicationTheme = new MetroTheme(); //Set your theme here
}
于 2012-02-16T03:50:22.293 に答える
0
Einarl: 現在、Silverlight 2 コアでコントロール テンプレート/スタイルを「カスケード」する方法はありません。つまり、TextBox のスタイル/コントロール テンプレートを設定して、すべての TextBox がそれを取得することを期待することはできません。これは間違いなく、チームが将来のバージョンで検討しているものです。
于 2008-10-08T19:02:31.607 に答える