問題タブ [relativesource]

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.

0 投票する
0 に答える
25 参照

binding - UserControl.MouseEnter がバインディングで機能しない

私は自分のユーザーコントロールのスタイルを持ってい:

私のユーザーコントロールには四角形があり、プレビュードラッグオーバー中にの塗りつぶしを変更したいです。これは私の四角形のスタイルです:

を使用すると、すべてが非常にうまく機能します。またはを使用すると、長方形が機能しません。私は何を怒らせますか?

0 投票する
1 に答える
883 参照

c# - バインディングで RelativeSource を使用できません

ウィンドウからモーダル ダイアログを作成していますが、ダイアログ内のコンボ ボックスをビュー モデルにバインドする必要がありますが、独自のDataContextのコンボ ボックスにはバインドする必要はありません。代わりに、ダイアログを作成したウィンドウのビュー モデル内のプロパティにコンボ ボックスをバインドする必要があります。

マークアップは以下の通り。

SOからのさまざまな提案に従おうとしていますが、次のエラーにしか到達していません。バインディングの例のリストもありますが、これで私が賢くなるわけではありません。

{"''System.Windows.Baml2006.TypeConverterMarkupExtension' の値を提供すると、例外がスローされました。' 行番号 '131' および行位置 '15'."}

そして、内部例外は次のとおりです。

{"文字 'w' は、文字列 'x:Type Window' で予期されていませんでした。無効な XAML 型名です。"}

作成ウィンドウの名前(ProgramWindow )を含め、 Window以外のものを試しましたが、同じ文字「w」について不平を言いました!そして、 x:Type Programをしばらく撮影したところ(w ではありません!)、代わりに文字 "m" について不平を言いました。

理由がわからないので、それについての説明は素晴らしいでしょう。もちろん、私の質問は私が見逃しているものです。ダイアログのウィンドウ タグに何か追加する必要がありますか? 祖先ウィンドウのビュー モデルが相対ソースとして使用されることをコンピューターに伝える必要がありますか?

0 投票する
1 に答える
80 参照

c# - コード ビハインド ベースから XAML ベースへのバインディングのリファクタリング作成

今日は、コンストラクターを使用して配列を受け取り、それを要素にバインドしています。

C#

XAML

純粋に XAML ベースのアプローチにリファクタリングしたいと思います。次の方法でアプローチしました。ただし、コンボ ボックスに値が表示されず、トラブルシューティングの方法がよくわかりません。

もちろん、Thingsクラスには多数のフィールドが含まれており、そのうちの 1 つはCanonicと呼ばれ、オプションの説明としてレンダリングする文字列が含まれています。ダイアログを作成するコントロールは、Windowから派生したProgramWindow型です。

同様の質問があることに注意してください(表示される場合があります)が、違いは、他の質問には構文の問題があり、それが解決されると、ここで説明されている実際の技術的な問題があることです。(他の質問へのリンクは提供していません。これは、ビューのカウントに影響を与えたくないためです。)

0 投票する
1 に答える
23 参照

wpf - スタイルと DataTemplates: Self を含む FindAncestor のような検索

フォームのバインド式を含むスタイルがあります

ただし、このスタイルが動作する DataContext が実際には MyType 型である場合があります。この場合、FindAncestor は私が望んでいることを行いません: 親から検索を開始します。

要素階層を上に進む前に、現在のデータコンテキストのタイプをチェックする {Binding ...} の呪文はありますか? 私のプロジェクトに固有の他のソリューションがありますが、FindAncestor は非常に近いです...

0 投票する
2 に答える
2535 参照

c# - RelativeSourceを使用してViewModelへのバインドが機能しない

コマンドを使用してページ間を移動するナビゲーション メニューを持つアプリケーションがあります。

ナビゲーション メニューは Xaml で作成され、Navigation.xaml に保存されています。以下を参照してください。

これらのボタン コマンドをバインドしようとしている ViewModel は、NavigationViewModelBase.cs と呼ばれます。

各ページで、次のコードを使用してナビゲーションを追加します

現時点ではエラーは発生していません。上記のボタンの 1 つで DataContext を設定すると、コマンドをバインドするときに、その Viewmodel のすべてのプロパティが表示されるので、そのビットは正しく機能しますが、プログラムを実行し、これらのボタンをクリックしても何も起こりません。

助けてくれてありがとう

0 投票する
0 に答える
117 参照

c# - DataGrid の HeaderTemplate 内にネストされた TreeView にプロパティをバインドできません

本当に奇妙な問題に遭遇しました。FooItemsControlViewModelView( FooItemsControl)に配置されたプロパティをバインドする方法がわかりません。

モデル:

ビューモデル:

XAML。このc は次の目的でDataTemplate使用されます。<DataGridTextColumn.HeaderTemplate>DataGrid

バインディングをデバッグするために、出力ウィンドウにトレースを追加しました。

出力ウィンドウに表示されるのは次のとおりです。

System.Windows.Data 警告: 78: BindingExpression (ハッシュ = 52875503): ルート項目 FooItemsControl (ハッシュ = 67071923) でアクティブ化します

System.Windows.Data 警告: 107: BindingExpression (ハッシュ = 52875503): FooItemsControl.DataContext のキャッシュされたアクセサーを使用するレベル 0: DependencyProperty(DataContext)

System.Windows.Data 警告: 104: BindingExpression (hash=52875503): アクセサー DependencyProperty(DataContext) を使用して、レベル 0 の項目を FooItemsControl (hash=67071923) に置き換えます

System.Windows.Data 警告: 101: BindingExpression (ハッシュ = 52875503): DependencyProperty(DataContext) を使用した FooItemsControl (ハッシュ = 67071923) からのレベル 0 の GetValue: FooItemsControlViewModel (ハッシュ = 28094463)

System.Windows.Data 警告: 107: BindingExpression (ハッシュ = 52875503): FooItemsControlViewModel.Folders のキャッシュされたアクセサーを使用するレベル 1: RuntimePropertyInfo(Folders)

System.Windows.Data 警告: 104: BindingExpression (ハッシュ = 52875503): アクセサー RuntimePropertyInfo(Folders) を使用して、レベル 1 のアイテムを FooItemsControlViewModel (ハッシュ = 28094463) に置き換えます

System.Windows.Data 警告: 101: BindingExpression (ハッシュ = 52875503): FooItemsControlViewModel (ハッシュ = 28094463) からのレベル 1 の GetValue は、RuntimePropertyInfo(Folders) を使用して:

System.Windows.Data 警告: 80: BindingExpression (ハッシュ = 52875503): TransferValue - 生の値を取得しました

System.Windows.Data 警告: 89: BindingExpression (ハッシュ = 52875503): TransferValue - 最終値を使用

また、Foldersプロパティは に示されていませんTreeView。値が表示されない理由を知っている人はいますかTreeView(以前に値を表示しました)。

TreeViewの内部が必要なのはなぜHeaderTemplateですか? 画像を見せてください: ここに画像の説明を入力

0 投票する
1 に答える
1475 参照

c# - ItemsControl 内の ItemsControl の AlternationIndex にバインドする

次の XAML を検討してください

3 つの TextBlock ノードがあります。1 番目の TextBlock は 1 番目の ItemsControl の直接の子であり、予想どおり AlternationIndex を示します。ただし、2 番目の ItemsControl で、その AlternationIndex をさらに深くする必要があります。したがって、私は TemplatedParent を使用できず、AncestorLevel で祖先を見つけることができると考えました。ただし、2 番目の ItemsControl の TextBlock ノードは両方とも "0" を示します。

私は何が欠けていますか?2 番目の ItemsControl 内から 1 番目の ItemsControl をターゲットにするにはどうすればよいですか?