Search This Blog

Wednesday, December 14, 2016

Set DataGrid DataGridRow Background color WPF

WPF > DataGrid > DataGridRow > Background


<DataGrid.RowStyle>
  <Style TargetType="DataGridRow">
    <Style.Triggers>
      <DataTrigger Binding="{Binding IsValid}" Value="true">
        <Setter Property="Background" Value="Green"></Setter>
      </DataTrigger>
      <DataTrigger Binding="{Binding IsValid}" Value="false">
        <Setter Property="Background" Value="Red"></Setter>
      </DataTrigger>
    </Style.Triggers>
  </Style>
</DataGrid.RowStyle>

Wednesday, November 16, 2016

Clear Sort WPF DataGrid

WPF > Controls > ItemsControl > DataGrid > Clear Sort

_collectionView = (CollectionView)CollectionViewSource.GetDefaultView(dataGrid.Items);

_collectionView.SortDescriptions.Clear();

Thursday, November 3, 2016

Convert Hex to SolidColorBrush

WPF > System.Windows.Media > BrushConverter

BrushConverter is used to convert a Brush object to or from another object type.

Example:

row.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFA7CDF0"));

Monday, October 24, 2016

Get Current Row WPF DataGrid

WPF > Controls > ItemsControl > DataGrid > ItemContainerGenerator > ContainerFromIndex

Returns the element corresponding to the item at the given index.

Example

How to get current row if row is not selected.

var index = dataGrid.Items.IndexOf(dataGrid.CurrentItem);


var row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(index);




Wednesday, October 19, 2016

Get rectangles from canvas WPF code behind

WPF > Controls > Layout > Canvas > Children


Example 

Get all rectangles from canvas.

private List<Rectangle> GetRectangles()
{
    return canvas.Children.OfType<Rectangle>().ToList();

}

Thursday, October 13, 2016

Round line WPF code behind

WPF > Line 


Line line = new Line
{
 Stroke = Brushes.Blue,
 StrokeThickness = 18,
 StrokeStartLineCap = PenLineCap.Round,
 StrokeEndLineCap = PenLineCap.Round,
 Height= 50,
 X1 = 50,
 X2 = 100,
 Y1 = 10,
 Y2 = 10
};
canvas.Children.Add(line);

        

Thursday, September 29, 2016

Slider WPF Example

WPF > Controls > Slider 

    <Grid>
        <TextBox
            Text="{Binding ElementName=Slider, Path=Value,             UpdateSourceTrigger=PropertyChanged}"
            Margin="33,112,288,172"/>
        <Slider
            Maximum="100"  
            Name="Slider"
            Margin="33,48,288,213"
            IsSnapToTickEnabled="True"
            TickFrequency="1" />
    </Grid>