問題タブ [implicit-style]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xaml - Silverlight 4-暗黙的なボタンスタイルでフォーカスされている場合、ボタンの背景色を変更するにはどうすればよいですか?
些細なことを成し遂げようとするのは非常に困難です。グローバルXAMLリソースファイルで定義された暗黙的なボタンスタイルを使用しています。ColorAnimationを使用して、フォーカスされたボタンの背景色を赤に変更したいだけです。Storyboard.TargetProperty
でいくつかの異なる組み合わせを試しましたがStoryboard.TargetName
、何も機能しませんでした。どうすればこれを達成できますか?
前もって感謝します。
wpf - Expression Blend、ItemTemplate、および Implicit Style
Blend がアイテムを DataTemplate スタイルの暗黙的にレンダリングしないという問題があります。
問題を再現するための基本的なプロジェクトをセットアップしました。以下は、イーグルの目を持つ人が私が間違っていることを確認するための Xaml + ResourceDictionary です (もしあれば)。本当に熱心な場合は、以下の Zipped プロジェクトへのリンクがあります。
これは、アプリケーションの実行時にレンダリングされるものです。
そしてこれがBlendが提示するものです:
完全なサンプル プロジェクト (65kb) - WpfApplication2.zip
もちろん、この問題は明示的にスタイルを設定することで解決できますが、私の主なプロジェクトでは、これは少し頭痛の種になります。
その Blend に関する他の投稿でいくつかのコメントを見ましたが、問題があるかもしれませんが、具体的なものは何もありません。
ご意見/ご提案はありますか?
ありがとう!
編集:
スタイルに Explicit Key を指定すると、次のように Explicit に基づいて Implicit Style を作成できることがわかりました。
これにより、別の Implicit Style を Resource として DataTemplate に追加できるようになります。
これにより、メインのプロジェクトで必要なブレンド可能性が得られますが、元の質問にはまだ完全には答えていません.
silverlight - Silverlight - 暗黙のスタイル継承の問題
ContextMenu
(たとえば)のサブクラスが呼び出されていて、 withでMyContextMenu
スタイルを定義している場合、このスタイルが のインスタンスに適用されないのはなぜですか?MergedDictionaries
TargetType=ContextMenu
MyContextMenu
基本クラスのすべてのインスタンスで機能しますが、サブクラスでは機能しません。
追加のスタイルを作成して を使用できますBasedOn
が、それはクリーンではありません。それがなくてもうまくいくようです。
サブクラスが基本コンストラクターを呼び出すことを確認しDefaultStyleKey
、基本クラスの型であることを確認しました。
wpf - DisplayMemberPathが設定されていない場合に、暗黙のTextBoxスタイルがComboBoxに継承されないようにするにはどうすればよいですか?
私は2つ持っていComboBoxes
ます。1つは列挙値のリストにバインドされ、もう1つはカスタムクラスオブジェクトのリストにバインドされ、DisplayMemberPath
プロパティが設定されています。
列挙値へのComboBox
バインドは暗黙的TextBlock
なスタイルを適用しますが、プロパティComboBox
を使用するは適用DisplayMemberPath
しません。
Snoopを使用すると、両方ComboBoxes
がまったく同じコントロールのセット(を<ContentPresenter>
含む<TextBlock>
)でレンダリングされることを確認できますがTextBlock
、セットを含まComboBox
ない場合は5が含まれ、セットを含む場合は含まれません。DisplayMemberPath
Margin
DisplayMemberPath
どうしてこれなの?ComboBox
そして、列挙型が暗黙TextBlock
のスタイルを継承しないようにするにはどうすればよいですか?
wpf - Label.Content を文字列ではなく非文字列にバインドすると、暗黙的な TextBlock スタイルが適用されるのはなぜですか?
私はこの質問Label.Content
を見ていましたが、文字列以外の値へのバインディングは暗黙的なスタイルを適用することを発見しましたTextBlock
が、文字列へのバインディングは適用されません。
問題を再現するためのサンプル コードを次に示します。
バインドされた値のコードの場所
最終結果は次のようになりMargin
ます。暗黙的な TextBlock スタイルのプロパティが、非文字列のみにバインドされた Label に適用されます。
両方のラベルは次のようにレンダリングされます
VisualTree をSnoopでチェックアウトすると、2 番目の TextBlock が暗黙のスタイルから Margin を適用し、最初の TextBlock は適用しないことを除いて、両方の要素がまったく同じに見えることがわかります。
Blend を使用してデフォルトのラベル テンプレートのコピーを取り出しましたが、そこに奇妙なものは見当たりません。テンプレートを両方のラベルに適用すると、同じことが起こります。
また、デフォルトContentTemplate
を a に設定すると、TextBlock
両方のアイテムが暗黙的なスタイルなしでレンダリングされるため、WPF が文字列以外の値を UI の一部としてレンダリングしようとするときに何か関係があるはずです。
UI に挿入された非文字列は暗黙の TextBlock スタイルを使用して描画されるが、UI に挿入された文字列は描画されないロジックは何ですか? そして、これはどこで発生しますか?
.net - コンテナー ウィンドウの暗黙的なスタイリング
子ユーザー コントロールで構成されるウィンドウ コンテナーを持つアプリケーションを開発しています。個々のユーザー コントロールとその子がコントロール レベルで使用している MyStyles.xaml ドキュメントがあります。
つまり、各ユーザー コントロール内でスタイルを宣言し、それを使用して個々のコントロールに適用しています。
コンテナ ウィンドウ レベルでユーザー コントロールのスタイルを定義して、スタイルが階層にカスケードされるようにすることで、これを暗黙的にするにはどうすればよいでしょうか。
前もって感謝します。
wpf - コンテナ内の暗黙的なスタイル
左側のサイドバー (最初の) のPadding="0"
それぞれに適用して、それぞれ(および他のコントロール) と左揃えにします。Label
StackPanel
TextBox
<ApplicationResources>
特定のコンテナー内の要素にのみ適用される暗黙的なスタイルを定義するにはどうすればよいですか?
代替案:
- を使用し
x:Key="sidebarLabel"
ます。ただし、このオプションは、実際のアプリケーションのサイドバーにある多くのラベルには冗長に思えます。 Padding=0
サイドバーのそれぞれに追加しますLabel
。これは本質的に前の代替案と同じです。- 暗黙的なスタイルを に移動し
<StackPanel.Resources>
ます。App.xaml
ただし、スタイル ( ) を XAML ( ) とは別に保持したいと考えていますMainWindow.xaml
。