I am trying to bind rectangle width property to a variable so with each added record to Data Grid the width of rectangle is different (chart style). I cannot even access this rectangle with 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;
}
Call to populate Data Grid
Datagrid_1.ItemsSource = LoadCollectionData(datosFormatas, row["pamaina"].ToString(), tyrimoVieta_isFunkcijos, koncentracija);
I do not actually know if this will even do what I want. Below is the picture what im trying to achieve. I want value in "Koncentracija" to set width of green rectangle. Can this even be done? I managed to draw static width rectangle only.
Any help is appreciated. Image of what i am trying to achieve
