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

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

14
INotifyPropertyChangedとViewModelのDependencyProperty
Model-View-ViewModelアーキテクチャのWPFアプリケーションにViewModelを実装する場合、データバインド可能にする方法は主に2つあるようです。DependencyPropertyViewがバインドするプロパティに使用する実装を見てきましたが、INotifyPropertyChanged代わりにViewModel実装を見てきました。 私の質問は、どちらを優先するかです。パフォーマンスに違いはありますか?ViewModelの依存関係をWPFに与えることは本当に良い考えですか?設計を決定するとき、他に何を考慮する必要がありますか?

5
SelectedItem、SelectedValue、およびSelectedValuePathの違い
以下の違いは何ですか? SelectedItem SelectedValue SelectedValuePath これらの依存関係プロパティはすべてSelectorクラスで定義されています。私はしばしば混同SelectedItemしてSelectedValue、そしてSelectedValue持ちますSelectedValuePath。 それらの違いを知りたいのですが、いつ、特にSelectedValueとを使用するかについても知りたいSelectedValuePathです。いくつかの簡単な例でそれらの使用法を説明してください。

13
別のスレッドが所有しているため、呼び出しスレッドはこのオブジェクトにアクセスできません
私のコードは以下の通りです public CountryStandards() { InitializeComponent(); try { FillPageControls(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Country Standards", MessageBoxButton.OK, MessageBoxImage.Error); } } /// <summary> /// Fills the page controls. /// </summary> private void FillPageControls() { popUpProgressBar.IsOpen = true; lblProgress.Content = "Loading. Please wait..."; progress.IsIndeterminate = true; worker = new BackgroundWorker(); worker.DoWork += …

10
WPF TextBlockの自動垂直スクロールバー?
私はTextBlockWPFにいます。縦の高さをはるかに超えて、たくさんの線を書いています。垂直スクロールバーが表示されると自動的に表示されると思っていましたが、表示されませんでした。プロパティペインでスクロールバーのプロパティを探しましたが、見つかりませんでした。 TextBlock内容が高さを超えたら、垂直スクロールバーを自動的に作成するにはどうすればよいですか? 明確化:私はむしろ、XAMLに直接書き込むのではなく、デザイナーからそれを行います。
335 c#  .net  wpf  scrollbar  textblock 

30
TextBoxでWPFの数値入力のみを受け付けるにはどうすればよいですか?
数字と小数点を受け入れようとしていますが、符号はありません。 Windowsフォーム用のNumericUpDownコントロールを使用したサンプルと、MicrosoftのNumericUpDownカスタムコントロールのこのサンプルを見てきました。しかし、これまでのところ、NumericUpDown(WPFでサポートされているかどうかにかかわらず)では必要な機能が提供されないようです。私のアプリケーションの設計方法では、右心の誰も矢印をいじりたくありません。私のアプリケーションのコンテキストでは、それらは実用的な意味を持ちません。 したがって、標準のWPF TextBoxに必要な文字だけを受け入れる簡単な方法を探しています。これは可能ですか?それは実用的ですか?
334 c#  wpf  xaml  textbox  numericupdown 

17
コードでのWPF画像ソースの設定
コードでWPF画像のソースを設定しようとしています。画像はリソースとしてプロジェクトに埋め込まれます。例を見ると、以下のコードが思いついた。何らかの理由で機能しません-画像が表示されません。 デバッグすると、ストリームに画像データが含まれていることがわかります。何が問題なのですか? Assembly asm = Assembly.GetExecutingAssembly(); Stream iconStream = asm.GetManifestResourceStream("SomeImage.png"); PngBitmapDecoder iconDecoder = new PngBitmapDecoder(iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); ImageSource iconSource = iconDecoder.Frames[0]; _icon.Source = iconSource; アイコンは次のように定義されています。 <Image x:Name="_icon" Width="16" Height="16" />
325 c#  .net  wpf  image 

1
ListBoxとListView-データバインディングの選択方法
WPFアプリケーションのListBoxまたはListViewを検討しています。データバインディングとアイテムテンプレートのどちらかをサポートしているようです。私のアプリケーションには、ユーザー入力に基づいて検索/ソート/フィルタリングできるようにするアイテムの簡単なリストがあります。データバインディングのデモ(http://msdn.microsoft.com/en-us/library/ms771319.aspx)では、CollectionViewSourceを含むListBoxを使用しています。 誰がいつどのコントロールを使用するかについて長所/短所がありますか?

4
WPFでコントロールを取得して使用可能なスペースを埋めるにはどうすればよいですか?
一部のWPFコントロール(などButton)は、高さを指定しないと、コンテナー内の利用可能なすべてのスペースを喜んで消費するようです。 そして、いくつかは、私が今使用する必要があるもののように、(複数行)TextBoxとはListBox、コンテンツを収めるために必要なスペースを取るだけで心配しているように見えます。 これらの男をのセルに配置するUniformGridと、利用可能なスペースに合わせて拡大されます。ただし、UniformGridインスタンスはすべての状況に適しているわけではありません。いくつかの行が*高さに設定され、それ自体と他の行の間の高さを分割するグリッドがある場合はどうでしょうか。a StackPanelがあり、a Label、a List、a Buttonがある場合、リストを取得して、ラベルとボタンで満たされていないすべてのスペースをどのように使用できますか? これは本当に基本的なレイアウト要件になると思いますが、可能な限りスペースを埋める方法を理解することはできません(それらを配置しDockPanelて埋めるように設定することも機能しないようです。DockPanel唯一のサブコントロール)によって必要なスペースを占めています。 あなたが一緒にプレイしていた場合はサイズ変更可能なGUIは非常に恐ろしいだろうHeight、Width、MinHeight、MinWidthなど HeightとWidthプロパティを、使用するグリッドセルにバインドできますか?またはこれを行う別の方法はありますか?


13
ディレクトリを開くダイアログ
次に生成するファイルを保存するディレクトリをユーザーに選択させたい。WPFではOpenFileDialogWin32のを使用する必要があることを知っていますが、残念ながらダイアログではファイルを選択する必要があります。ファイルを選択せず​​に単に[OK]をクリックすると、ファイルは開いたままになります。ユーザーにファイルを選択させ、パスを取り除いて、どのディレクトリに属しているかを確認することで、機能を「ハックアップ」することもできますが、直感的にはわかりません。誰かがこれを以前に行ったことを見たことがありますか?
274 wpf  filesystems  dialog 



13
enumプロパティをWPFのComboBoxにデータバインドする
例として、次のコードを見てください。 public enum ExampleEnum { FooBar, BarFoo } public class ExampleClass : INotifyPropertyChanged { private ExampleEnum example; public ExampleEnum ExampleProperty { get { return example; } { /* set and notify */; } } } プロパティExamplePropertyをComboBoxにデータバインドして、オプション "FooBar"および "BarFoo"を表示し、TwoWayモードで機能するようにします。最適には、ComboBoxの定義を次のようにする必要があります。 <ComboBox ItemsSource="What goes here?" SelectedItem="{Binding Path=ExampleProperty}" /> 現在、ComboBox.SelectionChangedおよびExampleClass.PropertyChangedイベントのハンドラーがウィンドウにインストールされており、手動でバインディングを実行しています。 より良い、または何らかの正規の方法はありますか?通常はコンバーターを使用しますか?また、ComboBoxに適切な値をどのように入力しますか?今はi18nを使い始めたくありません。 編集する したがって、1つの質問に答えました。ComboBoxに適切な値を設定するにはどうすればよいですか。 静的なEnum.GetValuesメソッドからObjectDataProviderを介してEnum値を文字列のリストとして取得します。 …
256 .net  wpf 

10
WPFを使用してラベルのテキストをラップするにはどうすればよいですか?
とTextBoxラベルがあります。ボタンをクリックした後、次のコードを実行します。 label1.Content = textbox1.Text; 私の質問は、ラベルのテキストの折り返しをどのように有効にするのですか?テキストが多すぎて1行で表示できない場合があります。その場合は、自動的に複数行に折り返してください。
251 c#  .net  wpf  label  word-wrap 

30
MVVMでPasswordBoxにバインドする方法
Pへのバインドに関する問題に遭遇しましたasswordBox。これはセキュリティリスクのようですが、MVVMパターンを使用しているため、これをバイパスしたいと思います。私はここでいくつかの興味深いコードを見つけました(これを使用した人はいますか? http://www.wpftutorial.net/PasswordBox.html 技術的には素晴らしいように見えますが、パスワードを取得する方法がわかりません。 私は基本的に自分のLoginViewModelfor Usernameとにプロパティを持っていますPassword。Username正常であり、そのままTextBoxです。 上記のコードを使用して、これを入力しました <PasswordBox ff:PasswordHelper.Attach="True" ff:PasswordHelper.Password="{Binding Path=Password}" Width="130"/> 私が持っていたときPasswordBoxのようにTextBoxし、Binding Path=Passwordその後、私の中のプロパティがLoginViewModel更新されました。 私のコードは非常にシンプルです。基本的にはのCommandがありますButton。押すとCanLogin呼び出され、trueを返すと呼び出されますLogin。 あなたは私が私の財産をチェックするのを見ることができますUsernameここで作品。 ではLoginI私のサービスAに沿って送信UsernameしてPassword、Username私からのデータが含まれていますViewが、PasswordありますNull|Empty private DelegateCommand loginCommand; public string Username { get; set; } public string Password { get; set; } public ICommand LoginCommand { get { if (loginCommand == null) { loginCommand = new DelegateCommand( Login, CanLogin …
251 c#  wpf  mvvm  wpf-controls  passwords 

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