問題タブ [templatebinding]

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 投票する
2 に答える
1107 参照

silverlight - ControlTemplateの変換へのバインド

ControlTemplate内の要素を動的にスケーリングするカスタムコントロールをSilverlightで作成しようとしています。ControlTemplateの最初の試行は、次のようになります。

ただし、このフォーラムスレッドでは、TemplateBindingはFrameworkElementsの派生物でのみ機能すると述べています。ScaleTransformはFrameworkElementではありません。これに対する回避策はありますか?この種の状況に対するベストプラクティスはありますか?

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

wpf - WPF-見た目のないコントロールのスタイリング:ControlTemplatesの第2レベルからコントロールの依存プロパティにアクセスする方法は?

いくつかの依存プロパティを追加したいので、 ItemsControl( )を拡張しています-コレクションにアイテムがない場合に表示されるようなものです(検索結果のitemscontrolで「検索語を入力して検索」ラベルを押すと考えてください) )。class EnhancedItemsControl : ItemsControlAlternativeContent

サブクラス化してdepItemsControlを追加しました。AlternativeContentそれへのタイプのプロパティFrameworkElement。ここで、Themes / Generic.xamlでデフォルトのスタイルを提供したいと思います(AsseblyInfoに追加し、この優れたチュートリアルThemeInfoAttributeで述べたように、静的costructorでメタデータを提供しました)。

スタイルには、が含まれており、 ItemsControlテンプレート内のControlTemplate2番目を使用する必要があります。ここに、を表示する必要があるを追加します。ControlTemplateContentPresenterAlternativeContent

さて、私の問題はContentPresenter、トップレベルからコンテンツを取得する必要があることをどのように伝えるEnhancedItemsControlかです。私がスタイルの中にいた場合ControlTemplate、私は使用します:

しかし、私はスタイルの内側ItemsControlにいるので、これは明らかに機能しません。親テンプレートではなく、祖父母テンプレートを参照する必要がありますが、パラメーターがありません。ControlTemplateControlTemplateTemplateBindingAncestorLevel

私も試しました:

しかし、その結果も空ContentPresenterになります。TemplatedParent(の外にあるため)名前を付けることがControlTemplateできないため、名前で参照することはできません。を使用することはできませんTemplatedParent RelativeBinding。これは、2つのレベルのコントロールテンプレートに到達しないためです。そしてRelativeSource FindAncestor奇妙なことに動作しません。

これを解決する方法はありますか?ありがとうございました!

Generic.xaml(抜粋):

制御コード:

使用法(aList<string>はとして提供されますDataContext):

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

silverlight - ControlTemplate で {TemplateBinding Content} withTextBlock を使用する

基本的に、コントロール テンプレートを作成したボタンがあります。現在動作していますが、VS 2010 は、コントロール テンプレートの次のコード行について不平を言っています

コントロール テンプレートはボタン用で、この TextBlock を対象とするさまざまな VisualStates があります。

VS2010 が不平を言う理由がわかります...コンテンツが実際にテキストでない場合はどうなりますか? これは問題を引き起こします。私にとって重要なのは、視覚状態の変化に応じてテキストの前景を設定したいということです。

これをどのように達成できるかについてのアイデアはありますか? (試してみてください、うまくいきます...しかし、vs2010デザイナーはそれを窒息させます)

以下はスタイル全体です。

次のように使用されます。

0 投票する
4 に答える
23478 参照

wpf - WPF ControlTemplate:TemplateBindingのデフォルト値を提供する方法は?

Buttonをサブクラス化するWPFコントロールを作成しています。次に、Themes \ generic.xamlで、次のようなデフォルトのスタイルを提供します(簡略化)。

ユーザーにコントロールの背景を変更する機会を与えてほしいのですが、変更しない場合はデフォルト値を提供したいと思います。どうすればいいのですか?

投稿されたコードのように行うと、ユーザーが明示的に指定しない限り、BackgroundとBorderBrushはnull(=存在しない)になります(これにより、ユーザーは常に何らかの値を提供するようになります)が、標準のウィンドウコントロール(Buttonなど)はデフォルトの外観を提供します、それでもユーザーがカスタマイズできます。私のコントロールでこれを行う方法は?

ありがとうございました!

マイケル・モートンによる解決策:

デフォルトをセッターとしてスタイルで提供できます。

使用法:

0 投票する
4 に答える
3209 参照

.net - WPF: Shape の StrokeThickness への TemplateBinding が機能しませんか?

次の ControlTemplate の Ellipse は BorderThickness を取得していないように見えますが、なぜですか?

TemplateBindingForegroundは正常に機能します。楕円は緑色です。しかし、StrokeThicknessうまくいかないようです、なぜですか?

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

c# - テンプレート バインドを使用した CodeBehind の CollectionViewSource

Selectorという名前の依存関係プロパティを使用して、WPF に基づいてルックレス コントロールを作成していListItemsます。SelectedItemsが変更されたとき、私は次のことを行います。

そして、私ControlTemplateはそれを次のようにバインドしListBoxます:

しかし、アイテムは私の中に現れませんListBox

私も試しました:

ここで何が欠けていますか?

0 投票する
4 に答える
9767 参照

wpf - WPFカスタムコントロール:画像へのTemplateBinding

とを使用して、WPFカスタムコントロールを作成してButtonImageますTextImagePathコントロールに2つの依存関係プロパティを追加しましTextた。コントロールテンプレート(Themes \ Generic.xaml内)は、画像とテキストを水平方向に配置する単純なスタックパネルです。

Textプロパティは正常に動作します。しかし、何らかの理由で、依存関係プロパティを使用TemplateBindingしてパスを取得すると、テストプロジェクトのサンプル画像が表示されません。カスタムコントロールのを一時的に画像へのパスにImagePath置き換えて画像をテストしました。その場合、画像が表示されます。TemplateBinding

この分野の経験が豊富な人が、コントロールが期待どおりに機能しない理由を調べて教えてくれることを願っています。ご協力いただきありがとうございます。

私のVS2008ソリューションには、CustomControlDemoという1つのプロジェクトが含まれています。プロジェクトには、カスタムコントロールTaskButton.csと、コントロールのテストに使用するメインウィンドウWindow1.xamlが含まれています。私のテスト画像calendar.pngは、プロジェクトのルートレベルのResourcesフォルダーにあり、Generic.xamlは、同じくプロジェクトのルートレベルのThemesフォルダーにあります。

これが私のカスタムコントロールのコードです(TaskButton.csから):

そして、これが(Generic.xamlからの)コントロールテンプレートです:

最後に、コントロールのテストに使用しているWindow1マークアップを次に示します。

画像パスが機能しない理由はありますか?再度、感謝します。

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

wpf - Converter を使用した TemplateBinding - 何が問題なのですか?

ゲームデスクを作っています。フィールド サイズ (1 つのフィールドは正方形) を添付プロパティとして指定し、ViewPort のこのデータ セット値を使用して、2x2 マトリックスを描画します (タイル モードはゲーム デスクの残りの部分を実行します)。

バインディングが機能しないため、何が問題なのかまったくわかりません。

私がしたい動作についてXAMLのテスト行:

ゲーム デスクは次の DrawingPaint のサンプルに基づいています: http://msdn.microsoft.com/en-us/library/aa970904.aspx (画像はこちら)

XAML:

コンバーターとプロパティの定義:

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

wpf - 属性 '[attr]' の値をタイプ 'System.Windows.TemplateBindingExtension' のオブジェクトに変換できません

クラス階層外のクラスで添付された依存関係プロパティを定義し、所有者を共通の親クラスに設定すると、このエラーが発生します。

WindowBase クラスに添付された依存関係プロパティ (クラス階層外 => エラーが発生):

失敗する TemplateBinding

代わりに、クラス階層内のクラスで添付の依存関係プロパティを定義し、所有者をこのクラスに設定すると、エラーが発生しません。なぜですか?

WindowBase に添付された依存関係プロパティ (クラス階層内 => エラーなし):

よろしく、ジェスパー

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

wpf - TemplateBinding でソースを更新する

このスタイルをすべてのラベルに使用しています

と私のサンプルラベル

しかし、TemplateBiding はプロパティの更新をサポートしていないように感じます。この問題を解決するにはどうすればよいですか