タグ付けされた質問 「wpf」

Windows Presentation Foundation(WPF)は、Windowsベースのアプリケーションでユーザーインターフェイスをレンダリングするためのサブシステムです。



10
WPFアプリケーションからコンソールに出力がありませんか?
非常に単純なWPFテストアプリケーションからConsole.WriteLine()を使用していますが、コマンドラインからアプリケーションを実行すると、コンソールに何も書き込まれていません。ここで何が起こっているのか誰か知っていますか? VS 2008でWPFアプリケーションを作成し、実行される任意の場所にConsole.WriteLine( "text")を追加するだけでそれを再現できます。何か案は? 今必要なのは、Console.WriteLine()のような単純なものだけです。log4netやその他のロギングソリューションを使用できることはわかっていますが、このアプリケーションにはそれほど多くの機能は必要ありません。 編集: Console.WriteLine()はコンソールアプリケーション用であることを覚えておく必要があります。まあ、愚かな質問はありませんよね?:-)ここでは、System.Diagnostics.Trace.WriteLine()とDebugViewを使用します。
112 c#  .net  wpf  console 

6
DataTemplateから親DataContextにアクセスする
私が持っているListBoxのViewModel上の子コレクションにどのバインドを。リストボックスアイテムは、親ViewModelのプロパティに基づいて、データテンプレートでスタイル設定されます。 <Style x:Key="curveSpeedNonConstantParameterCell"> <Style.Triggers> <DataTrigger Binding="{Binding Path=DataContext.CurveSpeedMustBeSpecified, ElementName=someParentElementWithReferenceToRootDataContext}" Value="True"> <Setter Property="Control.Visibility" Value="Hidden"></Setter> </DataTrigger> </Style.Triggers> </Style> 次の出力エラーが発生します。 System.Windows.Data Error: 39 : BindingExpression path error: 'CurveSpeedMustBeSpecified' property not found on 'object' ''BindingListCollectionView' (HashCode=20467555)'. BindingExpression:Path=DataContext.CurveSpeedMustBeSpecified; DataItem='Grid' (Name='nonConstantCurveParametersGrid'); target element is 'TextBox' (Name=''); target property is 'NoTarget' (type 'Object') したがって、バインド式を変更する"Path=DataContext.CurrentItem.CurveSpeedMustBeSpecified"と機能しますが、親ユーザーコントロールのデータコンテキストがである場合に限りますBindingListCollectionView。これは許容されないためのプロパティにユーザーコントロールのバインドの残りの部分CurrentItemにBindingList自動的に。 親データコンテキストがコレクションビューまたは単一のアイテムであるかどうかに関係なく機能するように、スタイル内でバインディング式を指定するにはどうすればよいですか?

11
WPFのMVVM-ViewModelにモデルの変更を警告する方法...または私は?
私はMVVMの記事をいくつか読んでいます。主にこれとこれです。 私の具体的な質問は次のとおりです。モデルの変更をモデルからビューモデルに伝えるにはどうすればよいですか。 ジョシュの記事では、彼がそうしているとは思えません。ViewModelは常にモデルにプロパティを要求します。レイチェルの例では、彼女はモデルを実装INotifyPropertyChangedし、モデルからイベントを発生させていますが、それらはビュー自体が使用するためのものです(これを行う理由の詳細については、記事/コードを参照してください)。 モデルがモデルのプロパティの変更をViewModelに警告する例はどこにもありません。これはおそらくそれが何らかの理由で行われていないのではないかと心配しています。 モデルの変更をViewModelに通知するパターンはありますか? (1)各モデルに1つ以上のViewModelがあると考えられ、(2)ViewModelが1つしかなくても、モデルに対するアクションによって他のプロパティが変更される可能性があるため、このようにする必要があります。 「なぜあなたはそれをしたいのですか?」という形式の回答/コメントがあるのではないかと思います。コメントなので、これが私のプログラムの説明です。私はMVVMを使い始めたばかりなので、おそらく設計全体に問題があります。簡単に説明します。 私は「顧客」や「製品」クラスよりも(少なくとも、私にとっては)興味深いものをプログラミングしています。私はBlackJackをプログラミングしています。 背後にコードがなく、ViewModelのプロパティとコマンドへのバインドに依存しているビューがあります(Josh Smithの記事を参照)。 良くも悪くも、私はモデルのようなだけではないクラスが含まれている必要があることを態度を取ったPlayingCard、Deckだけでなく、BlackJackGameゲーム全体の状態を維持し、そしてプレイヤーがなくなっバストを持っている場合、ディーラーがカードを引くために持って知っているクラス、およびプレーヤーとディーラーの現在のスコア(21未満、21、バストなど)。 BlackJackGame私は「DrawCard」のようなメソッドを公開し、それがいることを私に発生したカードは、以下のような、プロパティを描画する際CardScore、およびIsBust更新されるべきであると、これらの新しい値はViewModelにに伝達。おそらくそれは間違った考えですか? ViewModelがDrawCard()メソッドを呼び出したという態度を取ることができるので、更新されたスコアを要求し、バストであるかどうかを確認する必要があります。意見? 私のViewModelには、トランプの実際の画像(スーツ、ランクに基づく)を取得してビューで使用できるようにするロジックがあります。モデルはこれに関係するべきではありません(おそらく他のViewModelはトランプ画像の代わりに数字を使用するだけです)もちろん、モデルによってはBlackJackゲームの概念さえも持つべきではなく、ViewModelで処理する必要があると言う人もいるでしょう。
112 c#  .net  wpf  mvvm 



9
どの要素をクリックしても、WPFウィンドウをドラッグ可能にする
私の質問は2つあります。WinFormsの標準ソリューション(この説明を行う前にChristophe Geersが提供したもの)ではなく、WPFによって提供される両方のソリューションが簡単になることを願っています。 最初に、マウスクリック+ドラッグイベントをキャプチャして処理せずにウィンドウをドラッグ可能にする方法はありますか?ウィンドウがタイトルバーによってドラッグ可能であることを意味しますが、ウィンドウを設定せずにドラッグできるようにしたい場合、タイトルバーのドラッグを処理するものにイベントを何らかの方法でリダイレクトする方法があります。 ? 次に、ウィンドウ内のすべての要素にイベントハンドラーを適用する方法はありますか?同様に、ユーザーがクリックしてドラッグする要素に関係なく、ウィンドウをドラッグ可能にします。明らかに、ハンドラーを手動で追加せずに、すべての単一の要素に追加します。どこかで一度だけやるの?


8
WPFアプリを画面の中央に配置する方法は?
起動時にWPFアプリをメイン画面の中央に配置したいと思います。myWindow.LeftとmyWindow.Topを設定する必要があることはわかっていますが、値はどこで取得できますか? 私はを見つけましたSystem.Windows.Forms.Screen.PrimaryScreen。これは明らかにWPFではありません。画面の解像度などを提供するWPFの代替はありますか?

4
WPFウィンドウのハンドルを見つける
Windowsフォームにはwin1.Handleプロパティがあり、これを思い出すとメインウィンドウハンドルのハンドルを返しますか? WPFウィンドウのハンドルを取得する同等の方法はありますか? 私は次のコードをオンラインで見つけました、 IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle; しかし、私のアプリケーションには複数のウィンドウがあるので、それは私には役に立たないと思います。 ありがとう!!
109 wpf  window  handle 

23
WPFのページロード時にコンボボックスにデフォルトのテキスト「--Select Team-」を表示する方法
WPFアプリのMVPアプリには、データベースから取得したデータを表示するコンボボックスがあります。コンボボックスにアイテムを追加する前に、次のようなデフォルトのテキストを表示したい " - チームを選ぶ - " ページロード時に表示され、選択時にテキストがクリアされ、アイテムが表示されるようにします。 DBからデータを選択しています。ユーザーがコンボボックスからアイテムを選択するまで、デフォルトのテキストを表示する必要があります。 案内してください
109 wpf  combobox 

4
WPFデータグリッドの行セレクターを非表示にする方法
WPF DataGridコントロールを使用して詳細と選択ボタンを表示していますが、左側にある灰色のセレクター列は必要ありません。それはまた私のデザインの美しさを台無しにしています。 それを削除する方法はありますか、それとも一致しないようにスタイルを設定するにはどうすればよいですか?
108 wpf  wpfdatagrid 

12
Enterキーを押したときにTextBoxをバインドする
デフォルトのデータバインディングTextBoxはでTwoWayありTextBox、フォーカスを失った場合にのみ、テキストをプロパティにコミットします。 ?のEnterキーを押したときにデータバインディングを実行する簡単なXAML方法はありますTextBoxか?コードビハインドでこれを行うのは非常に簡単ですが、これTextBoxが複雑な内部にあるかどうか想像してみてくださいDataTemplate。
108 c#  wpf  xaml  .net-3.5  textbox 

6
画像付きのWPFボタン
WPFのボタンに画像を添付しようとしていますが、このコードは失敗します。同様のコードがMozilla XULで完全に機能するようになると、奇妙に思えます。 <Button Height="49.086" Margin="3.636,12,231.795,0" Name="button2" VerticalAlignment="Top" Grid.Column="1" Click="button2_Click" Source="Pictures/apple.jpg">Disconnect from Server</Button>
108 wpf 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.