問題タブ [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.
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 は完璧に見えますが、明らかにアプリ内の他の進行状況リングが影響を受けており、これは望ましくありません。
ProgressRingElipseThemeSize
ProgressRing の新しいスタイルを定義せずに、1 つの ProgressRing のみをローカルでオーバーライドするにはどうすればよいですか?
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()
機能します。
質問
- 誰かが私が間違っていることと、なぜ
VsBrushes
とEnvironmentColors
クラスを使用できないのかを説明してもらえ<ContentTemplate>
ますか? <ContentTemplate>
推奨される形式を使用して Visual Studio 拡張機能を適切にスタイルするにはどうすればよいですか?
問題を解決するための試み
- パッケージ全体のコンストラクターで、
VsBrushes
クラスの色定数を取得できることを確認しました。コンストラクターが UI をハングアップさせた後でのみVsBrushes
、XAML が処理されるまでに値を初期化する必要があります。 - 上で指摘したように
<ControlTemplate>
、定数を使用せずに使用できます。 <GradientStop>
例外を調査しました: パーサーがタグの Color プロパティを解釈しようとしたときにスローされました。正確に何が失敗したかの説明はありません。(しばらくすると、コードが少し変更されたため、例外が停止し、UI ハングが開始されました。)- を変更し
LinearGradientBrush
てSolidColorBrush
も問題は解決しません (もちろん、今回は例外が少し異なります): 'Set property 'System.Windows.Media.SolidColorBrush.Color' が例外をスローしました。 - 問題は
<MenuItem>
具体的ではありません。<Button>
任意の WPF コントロールで再現できます。
ソース
MenuItem のスタイルを定義するために使用するコードは次のとおりです。
コール スタック
これは、プロセスが「ハング」する場所です。
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 のどれを使用して、どのように使用するかを知りたいと思います。ありがとう!
wpf - ツールチップの Wpf スタイルが適用されない
私はこの状況を持っています:
カスタム コンポーネントのツールチップのスタイルを定義しました。
そして、ここに私のコンポーネントがあります:
スタイルは適用されません。なぜあなたの意見では?私は何をすべきか?
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 が正しくバインドされません。
私は単純なものが欠けていると確信しています。
c# - プログラムで ContentTemplate を TabControl に追加する
私はこのTabControlを持っています
次に、各タブ内に次のような動的グリッドを作成します。
year
とはxxx
、お客様が入力した値です。年を追加するには、ボタンをクリックする必要があり、xxx
いつでも編集できる TextBox 入力があります。そのため、何年と価値が得られるかわかりません。
私の疑似コードは次のようになります。
- TabControlSelectionChange で
グリッドが生成されている場合は、表示するだけです。
それ以外は:
- DataTemplate を取得します (または新しいものを作成しますが、実際には問題ではありません)。
- コレクションに従って列を生成する
- セルに値を挿入する
- のバインディングを作成する
TextBox
- 新しいグリッドを TabItem にプッシュします
これを行うためのほぼすべてのツールがあります。TabItem はコレクションのコンテンツのタイプであるため、TabItem のコンテンツとして新しいグリッドを設定する方法を理解することができます
c# - C# WFP オーバーライド DefaultStyleKeyProperty を持つコントロールのコントロール テンプレートでコントロールを検索
usercontrol から継承するが .xaml デザイン ファイルを持たないコントロールの DefaultStyleKeyProperty の OverrideMetadata メソッドを使用するサンプル ソリューションをダウンロードしました。これは、類似またはほぼ同じレイアウトを持つ他のサブコントロールのベース コントロールになります。コードはこちらの例にあります。
現在、基本クラスから、「btnTest1」という名前のオーバーライドされたスタイルのコンテンツ テンプレートにあるボタンにアクセスしようとしていますが、これを行う方法が見つかりません。
後でコード ビハインドでアクセスする必要があるため、基本クラス コンストラクターまたはサブクラス コンストラクター (おそらく InitializeComponent の呼び出し後) でコントロールを見つける方法があるかどうかを知りたいです。
前もって感謝します。
デビッド。
c# - C# コード ビハインド ファイルのコンテンツ テンプレート内のテキスト ボックスからテキスト入力にアクセスするにはどうすればよいですか?
StreetNbrtxt
を含むテキストにアクセスするいくつかのバリエーションを使用しました
さらに、Visual Studio Express 2012 の Account フォルダーにある事前にコード化されたファイルに追加されたテキスト ボックスに追加した値を確認できませんでした。
Register.aspx のコードは次のとおりです。
ユーザー入力テキストボックスから番地にアクセスする方法について何か考えはありますか?