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


3
ViewModelLocatorとは何ですか?DataTemplatesと比較してその長所/短所は何ですか?
誰かがViewModelLocatorとは何か、それがどのように機能するか、DataTemplatesと比較してそれを使用する場合の長所/短所は何かについて簡単な要約を教えてもらえますか? 私はグーグルで情報を見つけようとしましたが、それの多くの異なる実装があり、それが何であるか、それを使用することの賛否両論についての重要なリストはないようです。

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自動的に。 親データコンテキストがコレクションビューまたは単一のアイテムであるかどうかに関係なく機能するように、スタイル内でバインディング式を指定するにはどうすればよいですか?

4
TextBlockのスタックを使用する代わりに、文字列を連結します
WPFItemsControlにCustomerオブジェクトのリストを表示したいと思います。このためのDataTemplateを作成しました: <DataTemplate DataType="{x:Type myNameSpace:Customer}"> <StackPanel Orientation="Horizontal" Margin="10"> <CheckBox"></CheckBox> <TextBlock Text="{Binding Path=Number}"></TextBlock> <TextBlock Text=" - "></TextBlock> <TextBlock Text="{Binding Path=Name}"></TextBlock> </StackPanel> </DataTemplate> したがって、基本的に必要なのは、NUMBER-NAMEを含む単純なリスト(チェックボックス付き)です。バインディング部分で番号と名前を直接連結する方法はありませんか?
88 .net  wpf  datatemplate 

3
C#コードでDataTemplateを構築するにはどうすればよいですか?
WinForm相互運用機能のドロップダウンリストを作成しようとしていますが、コードでドロップダウンを作成しています。ただし、指定したDataTemplateに基づいてデータをバインドするのに問題があります。 何が足りないのですか? drpCreditCardNumberWpf = new ComboBox(); DataTemplate cardLayout = new DataTemplate {DataType = typeof (CreditCardPayment)}; StackPanel sp = new StackPanel { Orientation = System.Windows.Controls.Orientation.Vertical }; TextBlock cardHolder = new TextBlock {ToolTip = "Card Holder Name"}; cardHolder.SetBinding(TextBlock.TextProperty, "BillToName"); sp.Children.Add(cardHolder); TextBlock cardNumber = new TextBlock {ToolTip = "Credit Card Number"}; cardNumber.SetBinding(TextBlock.TextProperty, "SafeNumber"); …
82 c#  wpf  datatemplate 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.