1

简而言之,我想做的是创建一个 DataTemplate 来指示客户横幅的外观。

我以一种非常简单的形式完成了这项工作,但只使用了一个 ListView 控件,我将 ItemsSource 应用于包含一个条目的列表。

我想要做的是将 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 回答