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

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

5
列内のボタン、クリックイベントハンドラーでの元の行を取得
WPF Datagridのitemsourceを、DALから返されたオブジェクトのリストに設定しました。ボタンを含む追加の列も追加しました。xamlは次のとおりです。 <toolkit:DataGridTemplateColumn MinWidth="100" Header="View"> <toolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <Button Click="Button_Click">View Details</Button> </DataTemplate> </toolkit:DataGridTemplateColumn.CellTemplate> </toolkit:DataGridTemplateColumn> これは問題なくレンダリングされます。しかし、Button_Clickメソッドでは、ボタンが存在するデータグリッドの行を取得する方法はありますか?より具体的には、私のオブジェクトのプロパティの1つは "Id"であり、これをイベントハンドラーの別のフォームのコンストラクターに渡すことができるようにしたいと考えています。 private void Button_Click(object sender, RoutedEventArgs e) { //I need to know which row this button is on so I can retrieve the "id" } おそらく、xamlに何か特別なものが必要なのでしょうか、それとも、これを迂回的にしようとしているのでしょうか?どんな助け/アドバイスもありがたいです。

7
WPFでダミーの設計時データに利用できるアプローチは何ですか?
式のブレンドなしで、vs2010でXAMLエディターを使用しています。これは賢明なことですが、デザイン時のデータバインディングの必要性がますます高まっています。単純なケースでは、FallbackValueプロパティは非常にうまく機能します(TextboxesやTextBlocksなど)。ただし、特にItemsControl処理などを行う場合は、実行可能ファイルを実行せずにコントロールとデータテンプレートを調整および調整できるように、デザイナーにサンプルデータを表示する必要があります。 ObjectDataProvider型にバインドできるため、視覚化のための設計時データを提供できることはわかっていますが、両方の設計時のロードをロードすることにより、リソースを無駄にすることなく、実際の実行時データをバインドできるようにするためのジャグリングがあります。ダミーデータとランタイムバインディング。 私が本当に望んでいるのは、たとえば、「John」、「Paul」、「George」、「Ringo」をXAMLデザイナーでのスタイル可能なアイテムとしてItemsControl表示する機能ですが、アプリケーションの実行時に実際のデータが表示されます。実行します。 また、Blendでは、実行時の条件でWPFによって効果的に無視される設計時バインディングデータを定義するいくつかの豪華な属性が許可されていることも知っています。 だから私の質問は: 1. Visual Studio XAMLデザイナーでコレクションと重要なデータのデザイン時バインディングを活用し、ランタイムバインディングにスムーズにスワップするにはどうすればよいですか? 2.この設計時データと実行時データの問題を他の人はどのように解決しましたか?私の場合、両方に同じデータを非常に簡単に使用することはできません(たとえば、データベースクエリで使用できるように)。 3.データ統合XAML設計に使用できる式ブレンドの代替はありますか?(私はいくつかの選択肢があることを知っていますが、具体的に私が使用してバインドされたサンプルデータなどを見ることができるものを望んでいますか?)

4
マルチバインディングで1つのバインディングの定数値を渡すにはどうすればよいですか?
私のようなマルチバインディングがあります <TextBlock> <TextBlock.Text> <MultiBinding Converter="{StaticResource myConverter}"> <Binding Path="myFirst.Value" /> <Binding Path="mySecond.Value" /> </MultiBinding> </TextBlock.Text> </TextBlock> そして、上記の2つのバインディングの1つに、「123」などの固定値を渡したいと思います。XAMLを使用してどうすればよいですか?

14
System.ComponentModel.DataAnnotationsを参照できないのはなぜですか?
WPFプロジェクトでDataAnnotationsを使用して、文字列の最大長を次のように指定しようとしています。 using System.ComponentModel.DataAnnotations; しかし、私はエラーが出ます タイプまたは名前空間名 'DataAnnotations'が名前空間 'System.ComponentModel'に存在しません(アセンブリ参照がありませんか?) この名前空間にDataAnnotations が存在する他の例を見てきました。C#4を使用しています。これが使えない理由はありますか?どうすれば修正できますか?

5
DataContextプロパティを使用してXAMLのウィンドウにViewModelを設定するにはどうすればよいですか?
質問はほとんどすべてを言います。 ウィンドウがあり、完全な名前空間を使用してDataContextをViewModelに設定しようとしましたが、何か間違っているようです。 <Window x:Class="BuildAssistantUI.BuildAssistantWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" DataContext="BuildAssistantUI.ViewModels.MainViewModel">
96 .net  wpf  xaml  mvvm 


3
コードでバインディングを設定する方法は?
コードでバインディングを設定する必要があります。 私はそれを正しく理解できていないようです。 これは私が試したものです: XAML: <TextBox Name="txtText"></TextBox> コードビハインド: Binding myBinding = new Binding("SomeString"); myBinding.Source = ViewModel.SomeString; myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding); ViewModel: public string SomeString { get { return someString; } set { someString= value; OnPropertyChanged("SomeString"); } } プロパティを設定しても更新されません。 何が悪いのですか?
96 c#  wpf  xaml  data-binding 

5
整数をConverterParameterとして渡す方法は?
私は整数プロパティにバインドしようとしています: <RadioButton Content="None" IsChecked="{Binding MyProperty, Converter={StaticResource IntToBoolConverter}, ConverterParameter=0}" /> そして私のコンバーターは: [ValueConversion(typeof(int), typeof(bool))] public class IntToBoolConverter : IValueConverter { public object Convert(object value, Type t, object parameter, CultureInfo culture) { return value.Equals(parameter); } public object ConvertBack(object value, Type t, object parameter, CultureInfo culture) { return value.Equals(false) ? DependencyProperty.UnsetValue : parameter; } …

8
Horizo​​ntalAlignment = Stretch、MaxWidth、およびLeftは同時に整列されますか?
これは簡単なはずですが、困惑しています。WPFでは、親の幅に拡大するが、最大幅まで拡大するTextBoxが必要です。問題は、それが親の中で正当化されることを望んでいることです。ストレッチするには、Horizo​​ntalAlignment = "Stretch"を使用する必要がありますが、結果は中央に配置されます。Horizo​​ntalContentAlignmentを試してみましたが、何もしないようです。 この青いテキストボックスをウィンドウのサイズに合わせて拡大し、最大幅を200ピクセルにして、左揃えにする方法を教えてください。 <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel> <TextBox Background="Azure" Text="Hello" HorizontalAlignment="Stretch" MaxWidth="200" /> </StackPanel> </Page> トリックは何ですか?
95 wpf  xaml  alignment  stretch 

9
WPF:プログラムによってTextBoxからフォーカスを削除する方法
単純な(少なくともそうだと思っていた)動作をWPFに追加したいTextBox。 ユーザーがEscapeキーを押しTextBoxたときに、ユーザーが編集を開始したときのテキストをユーザーが編集できるようにしたいTextBox。また、フォーカスをから削除したい。 編集の最初に持っていた値のテキストを設定することに問題はありません。 問題は、要素のフォーカスを削除することです。フォーカスを他のコンポーネントに移動したくありませんTextBox。フォーカスを失いたいだけです。フォーカスTextBoxを失うには、フォーカスを設定するために非表示の要素が必要ですか?
95 wpf  textbox  focus 

17
ViewModelからウィンドウを閉じる
を使用しwindow controlてログインを作成し、ユーザーWPFが自分が作成しているアプリケーションにログインできるようにします。 これまでのところ、私は、ユーザーがための正しい資格情報で入力したかどうかを確認する方法作成しているusernameとpasswordにおけるtextboxログイン画面、上のbinding二つproperties。 これを実現するには、boolメソッドを作成します。 public bool CheckLogin() { var user = context.Users.Where(i => i.Username == this.Username).SingleOrDefault(); if (user == null) { MessageBox.Show("Unable to Login, incorrect credentials."); return false; } else if (this.Username == user.Username || this.Password.ToString() == user.Password) { MessageBox.Show("Welcome " + user.Username + ", you have successfully logged in."); …
95 c#  wpf  mvvm 

3
WPFで安全にUI(メイン)スレッドにアクセスする
次の方法で、監視しているログファイルが更新されるたびに(新しいテキストが追加されて)データグリッドを更新するアプリケーションがあります。 private void DGAddRow(string name, FunctionType ft) { ASCIIEncoding ascii = new ASCIIEncoding(); CommDGDataSource ds = new CommDGDataSource(); int position = 0; string[] data_split = ft.Data.Split(' '); foreach (AttributeType at in ft.Types) { if (at.IsAddress) { ds.Source = HexString2Ascii(data_split[position]); ds.Destination = HexString2Ascii(data_split[position+1]); break; } else { position += at.Size; } …

3
TextBlockを強制的にWPF ListBoxでラップする
メッセージを表示するWPFリストボックスがあります。左側にアバターがあり、ユーザー名とメッセージがアバターの右側に縦に積み重ねられています。メッセージテキストがワードラップするまでレイアウトは問題ありませんが、代わりにリストボックスに水平スクロールバーが表示されます。 私はGoogleで検索して、同様の問題の解決策を見つけましたが、どれもうまくいきませんでした。 <ListBox HorizontalContentAlignment="Stretch" ItemsSource="{Binding Path=FriendsTimeline}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Border BorderBrush="DarkBlue" BorderThickness="3" CornerRadius="2" Margin="3" > <Image Height="32" Width="32" Source="{Binding Path=User.ProfileImageUrl}"/> </Border> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding Path=User.UserName}"/> <TextBlock Text="{Binding Path=Text}" TextWrapping="WrapWithOverflow"/> <!-- This is the textblock I'm having issues with. --> </StackPanel> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>

8
WPFでグリッド行を非表示にする
フォームでGrid宣言された単純なWPFフォームがあります。これGridにはたくさんの行があります: <Grid.RowDefinitions> <RowDefinition Height="Auto" MinHeight="30" /> <RowDefinition Height="Auto" Name="rowToHide" /> <RowDefinition Height="Auto" MinHeight="30" /> </Grid.RowDefinitions> という名前の行rowToHideにはいくつかの入力フィールドが含まれており、これらのフィールドが不要であることを検出した後、この行を非表示にしたいと思います。Visibility = Hidden行のすべてのアイテムに設定するだけの簡単な方法ですが、行はのスペースを占有しますGrid。設定Height = 0してみたのですがうまくいかないようです。 次のように考えることができます。フォームがあり、そこに「支払いの種類」というドロップダウンがあり、ユーザーが「現金」を選択した場合、カードの詳細を含む行を非表示にします。これをすでに非表示にしてフォームを開始することはできません。
94 wpf  grid 

9
Windows GUI:WPFまたはWinRT(2015以降)
私は、Windowsの世界でGUIを構築するときに使用するさまざまなテクノロジーの概要を取得しようとしています。 コンテキストとして、私は少し2Dプラットフォームのマルチプレイヤーゲームを構築しています。(学習目的のためだけに..) 私の先生は、WPFは正しい方法だと思っていますが、Windowsフォームとしか比較していないようです。 私の理解不足は、ここ2015年にWindowsフォームが完全に死んでいるということですか? この他のスタックオーバーの質問では、WinRT + XAMLはMetro GUIのビルド(ウィンドウ8タイルのこと!) Windows 8ランタイム(WinRT / Windowsストアアプリ/ Windows 10ユニバーサルアプリ)は、SilverlightやWPFと比較してどうですか。 デスクトップは、古いアプリが存在する場所です(赤。WFP)。 新しいクラスのアプリケーションであるMetroアプリケーションは、VB.NET、C#、C ++など、さまざまな方法で構築できます。これらの3つの言語オプションは、UIを構築するためにXAMLを使用できます。もう1つの方法は、UIとアプリケーションコードの両方の開発にJavaScript / HTML5 / CSSを使用することです。 私の本当の質問は次のとおりです。ウィンドウの世界でGUIを作成するための良い方法はありませんか? そうでない場合は、Window 7、Window 8(デスクトップおよびメトロ)、Window Phone(およびWindows 10!)、さらにはx-boxでどのテクノロジを使用すればよいでしょうか。 この方法で比較するのは異なるテクノロジーですか? 時間を投資するのに適切なことは何だと思いますか?

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