【发布时间】:2021-01-10 00:45:47
【问题描述】:
我正在尝试将矩形宽度属性绑定到一个变量,因此随着每个添加到数据网格的记录,矩形的宽度是不同的(图表样式)。我什至无法使用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”中的值来设置绿色矩形的宽度。这甚至可以做到吗?我设法只绘制了静态宽度的矩形。
【问题讨论】: