問題タブ [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.

0 投票する
14 に答える
1325 参照

wpf - ブレンドを知る必要がありますか?

WPF開発者がExpressionBlendを知っていると思いますか?

Blendについてもっと学ぶための良いリソースはありますか?

[更新]ブレンドを知ることで生産性が向上しますか?

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

wpf - Expression Blend と Visual Studio を使用する場合、デザイナーのためにデータをスタブするにはどうすればよいですか?

新しいプロジェクトで Visual Studio 2008 と Expression Blend を試しています。目標は、開発者とデザイナーの役割を別個のものとして明確に定義することですが、デザイナーによって生成された XAML を開発者が直接使用できるという利点を享受することです。

ほとんどの場合、これはうまく機能しており、その可能性が非常に気に入っています。しかし、私たちが遭遇した問題の 1 つは、DataBinding に対する設計です。多くの場合、GUI は、アプリケーションが実行され、データベース呼び出しが行われない限り、行やその他のデータ構造にデータを入力しません。したがって、設計者は GUI の視覚的なレイアウトにアクセスできません。

私がやりたいことは、デザイナーがデザインの作業に使用できる単純なスタブ データまたはモック データを作成することです。大きな目標は、スタブ化されたデータを Expression Blend に表示し、実行時に実際のコレクションに適用することです。

これを行う確実な方法を見つけた人はいますか?

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

wpf - Microsoftのアセンブリで定義されたコントロールテンプレートを参照することは可能ですか?

いくつかのWPFコントロール(つまり、GridViewHeader)用に独自のコントロールテンプレートを提供する必要があるシナリオがあります。GridViewHEaderのコントロールテンプレートをブレンドで見ると、他のいくつかのコントロールから集約されており、場合によっては、そのコントロール専用にスタイル設定されています。つまり、列間のこのスプリッターです。これらのテンプレートは、明らかにsystem ... dllのどこかに隠されているリソースです(またはテーマdllのどこかにあります)。だから、私の質問は-それらの事前定義されたテンプレートを参照する方法はありますか?これまでのところ、私は自分のリソースにそれらのコピーを持っていることになりましたが、私はそのアプローチが好きではありません。

これがサンプルシナリオです:私はGridViewColumnHeaderを持っています:

これまでのところ、興味深いことは何もありませんが、たとえば、テンプレートにいくつかの機能を直接追加したいのですが、cotnent presenterをそのままにし、その横にコントロールを追加し、Thumbをフレームワークのデフォルトのままにしておきたいと思います。私はここでマイクロソフトによって提供されたテーマを見つけました:

Thumbのテーマは次のようになります。

これまでのところ、そのスタイルをコピーして貼り付ける必要がありますが、リソースから参照を取得したいと思います。

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

wpf - WPF: 組織図 TreeView の条件付き書式

同社は伝統的な複雑な組織構造を持っており、実際の数字ではなく文字「n」を使用してレベル数を定義しています。実現しようとしている構造を等幅フォントで表現してみます。

ご覧のとおり、Jack、Kim、および Lucy は Alice に報告しますが、自分自身の報告はありません。

aTreeViewItemsPanel含むStackPaneland と一緒に a を使用するのOrientation="Horizontal"簡単ですが、一部の人が 20 人の他の人に報告するようになると、非常に大きな結果になる可能性がありTreeViewます。を使用 して、 aに の子がTriggersあるかどうかを確認することもできますが、これは前述の と同じコンテキストではありません。例: Fred がレポートを持っていることはわかりますが、Fred が独自のレポートを持っているかどうかはわかりません。TreeViewItemProperty="TreeViewItem.HasItems"ItemsPanel

TreeViewItemsでは、独自の子がない場合、条件付きで垂直にフォーマットできますか?

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

vb.net - Silverlight-DataGridコントロール-並べ替えに干渉する選択変更イベント

現在、Silverlight(ベータ2)データグリッドコントロールで遊んでいます。SelectionChangedイベントを配線する前に、グリッドはヘッダーをクリックすることで完全にソートされていました。これで、グリッドをクリックすると、ヘッダーをクリックして並べ替えたときにSelectionChangedイベントが発生します。これを回避する方法はありますか?

半関連のトピックで、すでに選択されているアイテムをクリックしたときにSelectionChangedイベントを発生させたい(ユーザーが選択した値を編集できるようにポップアップを表示できるようにするため)。今のところ、ポップアップするには、別の値をクリックしてから、目的の値に戻る必要があります。別の方法はありますか?

含まれているのは私のコードです。

ページ:

そして、グリッドの選択が変更されたときに発生する呼び出し:

コードがひどい場合は申し訳ありませんが、まだSilverlightを学習しています。

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

c# - WPF でスケーラブルなメビウス ストリップを作成するには?

メビウスのは片面を持つ面です。

XAML/WPF でそのようなオブジェクトをどのように定義しますか?
C# を使用して、このようなオブジェクトを 3D で操作したり、拡大縮小したり、回転したりするにはどうすればよいでしょうか?

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

wpf - XAML/WPF ファイルをビデオ (AVI、WMV など) に変換する方法

いくつかのアニメーション化された図形とテキストを含む単純な WPF (XAML) ファイルがあります。アニメーションにはインタラクティブな動作はありません。このアニメーションをビデオ ファイルとして記録し、後でスクリーンキャストの「イントロ」画面として使用したいと考えています。

私が必要だと思うもの:入力XAMLファイルを受け取り、高品質のWMVを(たとえば24fpsで)吐き出すC#コード。

私がすでに調査した可能な代替案

  1. Camtasia Studio などの画面録画ソフトウェアで録画します。これは機能しますが、特にアニメーションに多くの遷移や動きがある場合、アニメーションはそれほどスムーズではありません

  2. Epiphan Systems の DVI2USB などのハードウェアを使用します。コストがかかりすぎます。試していません。

  3. DVR カードを使用して TV 出力 (S ビデオなど) を記録する - 低品質で低解像度。

2008 年 10 月 28 日の更新 - 動作するソース コード

このブログ投稿には、WPF/XAML を AVI としてエクスポートする完全に機能するソース コードの例があります。それは私が望むほど速くはありませんが、私のニーズには合っています:

MSDN ブログへのリンク

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

wpf - XAML でウィンドウまたは画面のサイズに応じてグリッド列の MaxWidth を設定する方法

ウィンドウに 3 列のグリッドがあり、最初の列に GridSplitter があります。最初の列の MaxWidth を親 Window または Page Width(またはActualWidth) の 3 分の 1 に設定したいのですが、可能であれば XAML でこれを行うことをお勧めします。

これは、XamlPad (または同様のもの) で再生する XAML のサンプルであり、私が何をしているかを示しています。

ご覧のとおり、右の列の幅は最初の列の幅にバインドされているため、スプリッターを使用して左の列をスライドすると、右の列も同じことを行います:) 左の列を右にスライドすると、最終的にはページ/ウィンドウの半分を超えてウィンドウの右側にスライドし、列 2 と 3 を押しのけます。

列 1 の MaxWidth をウィンドウ幅の 3 分の 1 (またはそのようなもの) に設定することで、これを防止したいと考えています。これはコード ビハインドで非常に簡単に実行できますが、「XAML のみ」で実行するにはどうすればよいですか?

編集: David Schmitt は、バインドの代わりに SharedSizeGroup を使用することを提案しました。これは優れた提案です。私のサンプルコードは次のようになります。

0 投票する
14 に答える
477688 参照

.net - RelativeSourceでWPFバインディングを使用するにはどうすればよいですか?

RelativeSourceWPFバインディングでどのように使用しますか?また、さまざまなユースケースは何ですか?

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

wpf - LocBAMLを使用せずにWPFアプリケーションをローカライズするための最良の方法は何ですか?

WPFアプリケーションをローカライズする良い方法はないようです。MSDNは、XAMLにを散らかし、x:UidCSVファイルを生成してから、(サンプルコードを使用して)新しいアセンブリを生成することが答えだと考えているようです。さらに悪いことに、このプロセスでは、画像、バイナリブロブ(PDFファイルなど)、またはコードに埋め込まれている文字列をローカライズする方法については説明していません。

では、次のようなアプリケーションをどのようにローカライズできますか。

  1. いくつかのアセンブリが含まれています
  2. ローカライズする必要のある画像やその他のバイナリブロブ(例:PDFドキュメント)が含まれています
  3. XAMLにない文字列データがあります(例MessageBox.Show("Hello World");:)