問題タブ [contenttemplate]

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

xaml - xaml: 新しい Style を定義せずに、単一の ProgressRing の ProgressRingElipseThemeSize を変更します

私の Windows Phone 8.1 プロジェクトには、ProgressBar.xaml (ここでは ProgressRing スタイルをオーバーライド) と Menu.xaml (フライアウト アイテムのテンプレート) を含む 'Resources' フォルダーが含まれています。

私の App.xaml は次のようになります。

ProgressBar.xaml には、<Style TargetType="ProgressRing">generic.xaml からの正確なコピーが含まれています。このスタイルは、それ自体の内部で別のスタイルを定義します:

フライアウト項目を除いて、アプリケーション全体で ProgressRingElipseThemeSize = 6.5 で問題ありません。Menu.xaml からの私のテンプレート:

そこで、ProgressRing の高さと幅を 40 にしました。楕円のサイズを 3 に変更したいと思います。しかし、ProgressRingElipseThemeSize内部をオーバーライド<ProgressRing.Resources>しても変更はありません。

ProgressRingElipseThemeSizeが変えなければならないことは確かです。<Style TargetType="ProgressRing">このように直接変更すると

MenuFlyoutItem は完璧に見えますが、明らかにアプリ内の他の進行状況リングが影響を受けており、これは望ましくありません。

ProgressRingElipseThemeSizeProgressRing の新しいスタイルを定義せずに、1 つの ProgressRing のみをローカルでオーバーライドするにはどうすればよいですか?

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

wpf - VsBrush が WPF ResourceDictionary で機能しない

tl;dr

問題の説明

まず第一に、私はWPFが初めてで、自分が何をしているのかほとんどわかりません...

カスタム Tool Window を作成する Visual Studio 2013 Extension を開発しています。WPF コントロールは親 (つまり、Visual Studio のメイン ウィンドウ) からテーマを継承しないため、手動で行う必要があります。

Microsoft.VisualStudio.Shell.VsBrushesまたはMicrosoft.VisualStudio.PlatformUI.EnvironmentColorsクラスは、Visual Studio シェル テーマ固有の定数を定義するため、これらのクラスを使用する必要があることを読みました。(こちらの例を参照してください。Style )タグ内でこれを使用する限り、これは問題なく機能します。

ただし、Microsoft のMenu and MenuItem ControlTemplate Exampleでは、 を使用して適切なMenyItem テンプレートを作成<ContentTemplate>する方法が説明されています。問題は、VsBrush も EnvironmentColors も .xml 内で機能しないこと<ContentTemplate>です。色を設定するときに不平を言う一般的な例外があるか<GradintStop>(詳細なし、問題は何か)、または UI がハングするか、読み込まれません。この後者のケースでは、アプリケーションを中断すると、常にMS.Win32.UnsafeNativeMethods.GetMessageW()機能します。

質問

  1. 誰かが私が間違っていることと、なぜVsBrushesEnvironmentColorsクラスを使用できないのかを説明してもらえ<ContentTemplate>ますか?
  2. <ContentTemplate>推奨される形式を使用して Visual Studio 拡張機能を適切にスタイルするにはどうすればよいですか?

問題を解決するための試み

  1. パッケージ全体のコンストラクターで、VsBrushesクラスの色定数を取得できることを確認しました。コンストラクターが UI をハングアップさせた後でのみVsBrushes、XAML が処理されるまでに値を初期化する必要があります。
  2. 上で指摘したように<ControlTemplate>、定数を使用せずに使用できます。
  3. <GradientStop>例外を調査しました: パーサーがタグの Color プロパティを解釈しようとしたときにスローされました。正確に何が失敗したかの説明はありません。(しばらくすると、コードが少し変更されたため、例外が停止し、UI ハングが開始されました。)
  4. を変更しLinearGradientBrushSolidColorBrushも問題は解決しません (もちろん、今回は例外が少し異なります): 'Set property 'System.Windows.Media.SolidColorBrush.Color' が例外をスローしました。
  5. 問題は<MenuItem>具体的ではありません。<Button>任意の WPF コントロールで再現できます。

ソース

MenuItem のスタイルを定義するために使用するコードは次のとおりです。

コール スタック

これは、プロセスが「ハング」する場所です。

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

wpf - Which WPF template to use?

I'd like to create a re-usable ListView with rows of any or all of:

Labels + textboxes or Labels + Comboboxes or Labels + DatePickers

テンプレートの使用。私はまだテンプレートをよく理解していないので、ControlTemplate、DataTemplate、ItemsTemplate、または ContentTemplate のどれを使用して、どのように使用するかを知りたいと思います。ありがとう!

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

wpf - ツールチップの Wpf スタイルが適用されない

私はこの状況を持っています:

カスタム コンポーネントのツールチップのスタイルを定義しました。

そして、ここに私のコンポーネントがあります:

スタイルは適用されません。なぜあなたの意見では?私は何をすべきか?

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

wpf - WPF の ListView で ContentTemplate をバインドする方法

問題を少し単純化しましたが、ListView ItemSource にバインドしたまま、ListView アイテムのスタイルと ControlTemplate を変更する必要があります。

ここに私の ListView 定義があります:

そして ItemContainerStyle:

ListView の ItemSource のタイプは次のとおりです。List<string>

ItemSource へのバインディングを介してアイテムを表示するには、TextBlock (txtValue) が必要です。

ListView には正しい量のアイテムが含まれていますが、TextBlock をバインドするにはどうすればよいですか?

これは、WPF ユニバーサル Windows プラットフォーム アプリケーションで行う必要があります。通常の WPF Windows アプリケーションで同じコードをテストしたところ、コードは正しく動作しました。しかし、UWP アプリケーションでは ContentTemplate が正しくバインドされません。

私は単純なものが欠けていると確信しています。

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

c# - プログラムで ContentTemplate を TabControl に追加する

私はこのTabControlを持っています

これにより、次のようなタブが生成されます。 ここに画像の説明を入力

次に、各タブ内に次のような動的グリッドを作成します。

yearとはxxx、お客様が入力した値です。年を追加するには、ボタンをクリックする必要があり、xxxいつでも編集できる TextBox 入力があります。そのため、何年と価値が得られるかわかりません。

私の疑似コードは次のようになります。

  • TabControlSelectionChange で
  • グリッドが生成されている場合は、表示するだけです。

  • それ以外は:

  • DataTemplate を取得します (または新しいものを作成しますが、実際には問題ではありません)。
  • コレクションに従って列を生成する
  • セルに値を挿入する
  • のバインディングを作成するTextBox
  • 新しいグリッドを TabItem にプッシュします

これを行うためのほぼすべてのツールがあります。TabItem はコレクションのコンテンツのタイプであるため、TabItem のコンテンツとして新しいグリッドを設定する方法を理解することができます

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

c# - C# WFP オーバーライド DefaultStyleKeyProperty を持つコントロールのコントロール テンプレートでコントロールを検索

usercontrol から継承するが .xaml デザイン ファイルを持たないコントロールの DefaultStyleKeyProperty の OverrideMetadata メソッドを使用するサンプル ソリューションをダウンロードしました。これは、類似またはほぼ同じレイアウトを持つ他のサブコントロールのベース コントロールになります。コードはこちらのにあります。

現在、基本クラスから、「btnTest1」という名前のオーバーライドされたスタイルのコンテンツ テンプレートにあるボタンにアクセスしようとしていますが、これを行う方法が見つかりません。

後でコード ビハインドでアクセスする必要があるため、基本クラス コンストラクターまたはサブクラス コンストラクター (おそらく InitializeComponent の呼び出し後) でコントロールを見つける方法があるかどうかを知りたいです。

前もって感謝します。

デビッド。

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

c# - C# コード ビハインド ファイルのコンテンツ テンプレート内のテキスト ボックスからテキスト入力にアクセスするにはどうすればよいですか?

StreetNbrtxtを含むテキストにアクセスするいくつかのバリエーションを使用しました

さらに、Visual Studio Express 2012 の Account フォルダーにある事前にコード化されたファイルに追加されたテキスト ボックスに追加した値を確認できませんでした。

Register.aspx のコードは次のとおりです。

ユーザー入力テキストボックスから番地にアクセスする方法について何か考えはありますか?