問題タブ [xaml]
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.
wpf - WPF ComboBox で、テキスト ボックスとポップアップに異なる前景色を設定することは可能ですか?
基本的に私の問題は、テキストボックス部分を白く、ドロップダウンを黒くしたいという願望から生じています。テキストを白に設定すると、ドロップダウンは希望どおりに表示されますが、テキストボックス内のテキスト自体はほとんど判読できません。Foreground を黒に設定すると、ドロップダウンが判読できなくなります。
これを処理する良い方法はありますか?私はまだWPFを学んでいます。
wpf - 「リンク」せずに2つのWPFComboBoxを1つのソースにデータバインディングする
ObjectDataSourceProviderから1つのComboBoxリスト会社があるマスター/詳細シナリオがあります。その下に、現在のCompanyオブジェクトからContactsプロパティにバインドする2つのComboBoxがあります。各ComboBoxで異なる連絡先を選択できるようにする必要があります。ただし、一方のリストの選択を変更するとすぐに、もう一方のリストが同じ連絡先に更新されます。
さまざまな設定(OneWayとTwoWay)を試しましたが、これまでのところ何も機能していないようです。これが私のXAMLの抜粋です。
CollectionViewSourceを作成するのが道だと思いましたが、それを機能させることができませんでした。PrimaryContactとAdminContactがリンクされないようにする簡単な方法はありますか?
wpf - これは、IDataError と WPF で複数の検証タイプを処理するクレイジーな方法ですか?
コントロールの標準的な方法を使用して、壊れた BO ルールを報告しています。これは、BO のインターフェイス IDataError を介して行われ、XAML では、コントロールは BO のプロパティなどにバインドされます。このアプローチは問題なく機能します。ただし、無効化エラーのタイプ (または必要に応じてカテゴリ) に応じて、UI に 2 種類のビジュアルを表示する必要があります。必須フィールドの場合は CueBanner (透かし) を表示しますが、他のタイプの場合はコントロール ボーダーの色を変更します。どちらのシナリオでも、エラー メッセージのツール タイプを設定します。
IDataError の問題は、エラーの種類を区別するためのメソッド/プロパティがサポートされていないことです。
私ができる唯一の方法は、エラー テキストを調べることです。必須フィールドのテキストには、「required」というキーワードが含まれている必要があります。次のアプローチは適切ではありませんが、エラーの種類を特定し、それに応じて対処できる唯一の方法です。すべての必須フィールド ルールには、エラー テキストの一部として「必須フィールド」が含まれている必要があります。これをすべて機能させるために、ErrorMessage というカスタム依存関係プロパティを作成しました。私の ResourceDictionary には、Validation.HasError の Style.Trigger があります。そこで、依存関係プロパティの値を ErrorContent に設定します。依存関係プロパティの値が変更されたら、テキストを調べて、エラーの種類に合わせて Validation.SetErrorTemplate( myControl, newErrorTemplate) をテンプレートに設定できます。cueBanner テンプレートの削除または追加を管理するために、失われたフォーカスを得たなどのいくつかのイベントをコントロールに接続する必要がありますが、すべてが機能します。それが最善の方法であるかどうかはわかりません。
PS。ErrorTemplate を設定すると、コードでこれを行っています。つまり、ビルドして追加します。少なくとも 2 つのタイプを切り替える必要があることを念頭に置いて、Validation.SetErrorTemplate を静的リソースにポイントする方法はありますか?
あなたの考えをください..
wpf - WPF テキストブロックを選択可能にする方法はありますか?
TextBlockのテキストを選択可能にする方法は?
テキストブロックのようにスタイル設定された読み取り専用の TextBox を使用してテキストを表示することで機能させようとしましたが、TextBox にはインラインがないため、私の場合は機能しません。つまり、選択可能にする方法は?
c# - キーなしでコードから XAML リソースを作成する
リソース キーを指定せずにコードから ResourceDictionary にリソースを追加する方法はありますか?
たとえば、XAML に次のリソースがあります。
このリソースをコードから動的に作成し、それを TreeView ResourceDictionary に追加する必要があります。ただし、XAML では Key がないということは、デフォルトですべての FieldPropertyInfo 型に使用されることを意味します。キーを持たずにコードでリソースに追加する方法はありますか、またはキーを使用してすべての FieldPropertyInfo タイプで使用できる方法はありますか?
これまでにC#で行ったことは次のとおりです。
明らかに、リソースを ResourceDictionary にキー null を追加しても機能しません。
wpf - ContentTemplate から周囲のカスタム コントロールにバインドする方法は?
次のユーザー コントロールがあります。
このカスタム TabItem はDependencyProperty、インターフェイスを実装するために「ShortLabel」を定義します。TabItem内からこれと他のプロパティにバインドしたいと思いますDataTemplate。しかし、奇妙な相互作用により、TextBlock内のは の親コンテナーにDataTemplateバインドされます。これは "Self" とも呼ばれますが、別の Xaml ファイルで定義されています。TabItem
質問
TabItem.Header ではバインディングが機能するのに、TabItem.ContentTemplate 内では機能しないのはなぜですか? また、DataTemplate 内からユーザー コントロールのプロパティにアクセスするにはどうすればよいですか?
私がすでに試したこと
TemplateBinding: の内部で ContentPresenter にバインドしようとしTabItemます。FindAncestor, AncestorType={x:Type TabItem}TabItem:親が見つかりません。タイプを指定すると、これも機能しませんMyTabItem。ElementName=Self: 間違ったスコープ (親コンテナーではなく) でその名前のコントロールにバインドしようとしTabItemます。なぜこれが機能しないのか、ヒントが得られると思います.DataTemplateは、XAMLで定義された時点では作成されませんが、明らかに親コンテナーによって作成されます。
ControlTemplate探している効果を達成するために全体を置き換えることができると思いますTabItemが、全体を維持することなくのデフォルトのルック アンド フィールを維持ControlTemplateしたいので、そうするのは非常に気が進まないのです。
編集
一方、問題は次TabControlのとおりであることがわかりました。理由を説明するスレッドが MSDN フォーラムにあります。ItemsTemplateDisplayMemberPathItemsSourceVisual
これは WPF の TabControl の根本的な問題のようですので、質問を締め切らせていただきます。ご助力いただきありがとうございます!
.net - WPF でコンテキスト メニューと通常のメニューの間でメニュー定義を共有するにはどうすればよいですか
1 つのページで 2 つの異なるメニュー間で共有したい定義済みの MenuItem があります。メニューには、両方のメニューで同じ機能が含まれており、2 つのコピーは必要ありません。Page.Resources で MenuItem を定義し、以下の ContextMenu XAML で参照する方法はありますか?
c# - WPF コマンドとパラメーター
WPF コマンド パラメーターが制限であることがわかりました。おそらくそれは、私がそれらを間違った目的で使用している兆候かもしれませんが、廃棄して別の方法をとる前に、まだ試しています.
コマンドを非同期で実行する仕組みを作ったのですが、データ入力が必要なものは使いづらいです。WPF コマンドの一般的なパターンの 1 つは、this. ただしthis、すべての依存関係プロパティにアクセスできないため、非同期コマンドではまったく機能しません。
私は次のようなコードになります:
また、InstallServiceParametersConverter クラス (および InstallServiceParameters) も必要です。
これを改善する明白な方法を見た人はいますか?
c# - ストーリーボードは ControlTemplate 要素を見つけることができません
かなり単純な XAML をいくつか作成しましたが、完全に機能します (少なくとも KAXML では)。XAML 内から呼び出された場合、ストーリーボードは完全に実行されますが、外部からそれらにアクセスしようとすると、次のエラーが発生します。
次のように、ストリーム リーダーを使用して XAML を読み込んでいます。
そして、ストーリーボードを次のように実行しようとしています:
問題は、私がアニメーション化しているフィールドがテンプレートにあり、そのストーリーボードがボタンにアクセスしていることだと思います。
XAML は次のとおりです。
私よりも WPF と XAML をよく理解している人からの提案はありますか?
エラースタックトレースは次のとおりです。
silverlight - DependencyObject と DependencyProperty への依存
私は Silverlight アプリケーションを構築していますが、前回の警告の 1 つは、Silverlight/WPF の方法で何かを正しく行う必要がある場合は、オブジェクトを DependecyObject としてモデル化し、DependencyProperty(ies) を使用する必要があるということでした。
このモデルはやや面倒で、私が使用するクラスの半分で静的フィールドと初期化子を必要とするため、DependencyObject の代わりに古き良きイベント駆動型 (オブザーバー パターン?) を使用することをお勧めしますか?
私はコードの肥大化とボイラー プレートを最小限に抑えることを目指しています (私はそれらが嫌いです)。Silverlight/WPF の経験がある人に、DependencyObject と DependencyProperty の使用を最小限に抑えるためのヒント/テクニックがあるかどうかを本当に知りたいですか?
これは良い考えですか?