1

一言で言えば、私がやろうとしているのは、DataTemplate を作成して、顧客のバナーがどのように見えるべきかを示すことです。

これは非常に単純な形式で機能しますが、1 つのエントリを含むリストに ItemsSource を適用する ListView コントロールのみを使用します。

私がやりたいことは、Customer オブジェクトをコントロールに直接適用し (コントロールのタイプがわからない)、このタイプの DataTemplate を取得してデータをレイアウトすることです。

私が使用しているxamlは...

<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication5"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <DataTemplate DataType="{x:Type local:Customer}" >
            <Border Background="Blue" >
                <TextBlock Text="{Binding CustomerName}"  />
            </Border>
        </DataTemplate>
    </Window.Resources>
    <ListView x:Name="mylist" />
</Window>

次のコード ビハインドを使用します。

namespace WpfApplication5
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Customer mp=new Customer();
            mp.CustomerName="Mr. Banana";
            List<Customer> temp = new List<Customer>();
            temp.Add(mp);
            mylist.ItemsSource = temp;
        }
    }
    public class Customer
    {
        public string CustomerName { get; set; }
    }
}
4

2 に答える 2

1

を使用するだけContentControlです:

<ContentControl x:Name="banner" />

そしてコードで:

banner.Content = mp;
于 2012-07-05T14:03:04.880 に答える
0

バインディングに使用できるプロパティUserControlを含む独自のものを作成します。Customer次に、バインディングを使用してそのプロパティにバインドできますRelativeSource

于 2012-07-05T14:02:12.740 に答える