无法绑定到另一个usercontrol中的gridview

时间:2015-03-05 21:44:47

标签: wpf xaml mvvm

我有3个用户控件

一个是拥有GridViewUserControl和ExportUserControl

的父级

GridViewUserControl和ExportUserControl有自己的视图模型。

当我单击ExportUserControl中的ExportButton时,我需要将gridview传递给ExportUserControl中的命令。我尝试的一切都是空的。

我该怎么办? (这是错误“使用binding.relativesource时无法设置binding.elementname”

        <telerik:RadButton Content="Export"
                           Command="{Binding ExportCommand}"
                           CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:GridViewUserControl}, ElementName=GridViewData}"
                           Margin="0,10,0,0" />

编辑:家长控制看起来像这样

<UserControl x:Class="Sample.Sample1.View.ParentUserControl"
             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:view="clr-namespace:GroundStation.Configuration.Viewer.View"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300"
             DataContext="{Binding Source={StaticResource Locator}, Path=Main}">
    <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" MinWidth="150"/>
            <ColumnDefinition Width="5" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <view:ExportUserControl Margin="5" 
                         Grid.Column="0"
                         Grid.Row="2"
                         Grid.RowSpan="2"
                         MinWidth="150"
                         />
        <GridSplitter Grid.Column="1" 
                      Width="5"
                      Grid.Row="1"
                      Grid.RowSpan="3"
                      HorizontalAlignment="Stretch" />
        <view:GridViewUserControl 
            Margin="5" 
            Grid.Column="2"
            Grid.Row="1"
            Grid.RowSpan="3"/>
    </Grid>
</UserControl>

0 个答案:

没有答案