0
我有一個用戶控件,裏面有幾個數據網格。 想獲得綁定工作,但由於某種原因不能顯示的內容:WPF:在用戶控件中綁定DataGrid
UserControls.iMRxMRDataGrid ucObj = new UserControls.iMRxMRDataGrid();
ChartDescriptiveClass.PartName="test";
ucObj.DataContext = ChartDescriptiveClass;
內用戶控件:
public partial class iMRxMRDataGrid : UserControl
{
public iMRxMRDataGrid()
{
InitializeComponent();
DataContext = this;
}
}
XAML:
<UserControl x:Name="iMRxMRDataUC" x:Class="SPCLibrary.UserControls.iMRxMRDataGrid"
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.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<DataGrid x:Name="iMRxMRDataGri" DataContext="{Binding DataContext,ElementName=iMRxMRDataUC}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding PartName}" Width="Auto" Header="PartName" IsReadOnly="True" /> <!--This will not work-->
</DataGrid.Columns>
</DataGrid>
<TextBlock Grid.Row="1" Text="{Binding Path=DataContext.PartName,ElementName=iMRxMRDataUC}" Width="40px" Height="30px"/> <!--This works-->
</Grid>
</UserControl>
類看起來是這樣的(每個財產一個成員):
public class ChartDescriptiveValues
{
//iMR & xMR
public string PartName { get; set; }
public int Count { get; set; }
public double Average{ get; set; }
public double LSL { get; set; }
public double USL { get; set; }
}
然而,textBlock綁定起作用(添加了這個來測試綁定是否在工作)。
謝謝!
嗯..事情是,我真的不知道如何做這樣的綁定。 我有一個類,我設置爲UserControl.DataContex = MyClass。 現在我需要將內容綁定到DataGrid,它是usercontrol的子項。 – Raunts
@Raunts您爲用戶控件設置DataContext,因此DataGrid for DataGrid不是必需的。例如,Text =「{Binding PartName}」將工作 – galakt
..不工作.. :( – Raunts