0

完全な XAMLNameInfoControlに基づいた独自のコントロールを定義します。UserControl

<UserControl x:Class="AcadLoadManager.NameInfoControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <ToolBar>
                <Button x:Name="btnAdd" x:FieldModifier="public" ToolTip="Add record" >
                    <Image Source="/AcadLoadManager;component/Icons/bullet_sparkle.png" Width="16"/>
                </Button>
                <Button x:Name="btnEdit" x:FieldModifier="public" ToolTip="Edit record">
                    <Image Source="/AcadLoadManager;component/Icons/bullet_edit.png" Width="16"/>
                </Button>
                <Button  x:Name="btnRemove" x:FieldModifier="public" ToolTip="Remove record">
                    <Image Source="/AcadLoadManager;component/Icons/bullet_cross.png" Width="16"/>
                </Button>
            </ToolBar>
            <ListView x:Name="myListView" x:FieldModifier="public" Margin="3" Grid.Row="1">
                <ListView.View>
                    <GridView>
                        <GridViewColumn Width="100" Header="Global name" 
                                        DisplayMemberBinding="{Binding GlobalName}"/>
                        <GridViewColumn Width="100" Header="Local name" 
                                        DisplayMemberBinding="{Binding LocalName}"/>
                    </GridView>
                </ListView.View>
            </ListView>
        </Grid>
    </Grid>
</UserControl>

それはそう見える:

ここに画像の説明を入力

私のコントロールには、 myListViewListViewという名前のアイテムがあります。たとえば、XAML を使用してmyListViewのプロパティの値を設定するにはどうすればよいですか? 次のコードで必要です。ItemsSourceNameInfoControl

<GroupBox Header="Command groups:" Grid.Column="0" Grid.Row="1" Margin="5">
    <local:NameInfoControl/>
</GroupBox>
4

1 に答える 1

1

あなたの XAML で、あなたの項目をあなたのコントロールのにNameInfoControlバインドします。myListViewDataContext

<ListView ItemsSource="{Binding}" x:Name="myListView" x:FieldModifier="public" Margin="3" Grid.Row="1">

次に、そのコントロールを使用する親 XAML で、DataContext表示する項目を含むリストに をバインドします。

<local:NameInfoControl DataContext="{Binding MyCollectionOfItems}" />

于 2012-11-19T12:02:58.673 に答える