我是C#,WPF的新手,
我使用Tab控件在同一Ui中展示了两个不同的数据表,
即标签A和标签B
在选项卡A-中仅显示甘特图视图,在选项卡B-中仅显示“表格”视图,两者均具有不同的数据。
当我在表格视图中运行甘特图视图数据时显示。
原因:数据上下文的绑定
我很困惑在一个应用程序中使用多个DataContext可以帮助我。
下面是我的代码:
.ebextensions/https-backendauth.config
答案 0 :(得分:0)
创建一个具有2个属性的DataContext
,其中一个属性用于Gantt数据,另一个属性用于Table数据,
public class TabViewDataContext
{
public List<SampleGridItem> GanttData { get; set; }
public List<CsvGChart> TableData { get; set; }
}
并将每个控件绑定到相应的数据上下文属性,该类应如下所示:
namespace APE.WPF.Controls.DynamicGrid
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
//public List<CsvGChart> DataContext1 { get; }
public MainWindow()
{
InitializeComponent();
var context = new TabViewDataContext
{
GanttData = ganttTab(),
TableData = tableTab()
}
this.DataContext = context;
}
public List<SampleGridItem> ganttTab()
{
var random = new Random();
var dataItems = new List<SampleGridItem>();
for (int x = 0; x < 100; x++)
{
for (int y = 1; y < 10; y++)
{
dataItems.Add(
new SampleGridItem()
{
ProductionDate = new DateTime(random.Next(2014, 2014), random.Next(1, 12), random.Next(1, 27)),
ProductName = string.Format("10-" + y),
ProductionCount = random.Next(1, 2) * random.Next(0, 30)
});
}
}
return dataItems;
}
//Not sure if this should return that type
public List<CsvGChart> tableTab()
{
return FunctionalFun.UI.CsvParseDataService.ReadFile(@"Unit Records Sample.csv");
}
}
}