我试图将矩形的宽度属性绑定到一个变量上,这样每添加一条记录到数据网格中,矩形的宽度就不同了(类似图表)。我甚至无法使用x:Name
访问该矩形。
XAML:
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Data}" Header="Data" ></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=Pamaina}" Header="Pamaina"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=TyrimoVieta}" Header="Tyrimo vieta"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=Koncentracija}" Header="Koncentacija"></DataGridTextColumn>
<DataGridTemplateColumn Header="Rect">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel x:Name="assTR">
<Rectangle Width="{Binding ilgis}" Height="10" Fill="Green" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
C#
List<DatagridItems> datagridItems = new List<DatagridItems>();
public class DatagridItems
{
public string Data { get; set; }
public string Pamaina { get; set; }
public string TyrimoVieta { get; set; }
public string Koncentracija { get; set; }
}
public List<DatagridItems> LoadCollectionData(string data, string pamaina, string tyrimovieta, string koncentracija)
{
Datagrid_1.Items.Refresh(); //du refresh kad atsinaujintu kolekcija
datagridItems.Add(new DatagridItems()
{
Data = data,
Pamaina = pamaina,
TyrimoVieta = tyrimovieta,
Koncentracija = koncentracija,
});
Datagrid_1.Items.Refresh();
return datagridItems;
}
调用以填充数据网格
Datagrid_1.ItemsSource = LoadCollectionData(datosFormatas, row["pamaina"].ToString(), tyrimoVieta_isFunkcijos, koncentracija);
我其实不知道这样做是否能实现我的要求。下面是我想要实现的图片。我想要在“Koncentracija”中的值设置绿色矩形的宽度。这能行吗?我只能绘制固定宽度的矩形。
感谢任何帮助。我想要实现的图片