ورود

View Full Version : سوال: غیر فعال کردن تغییر رنگ زمینه پیشفرض ردیف در datagrid



ghace.shh
چهارشنبه 20 فروردین 1399, 18:40 عصر
سلام به همه دوستان.
عیدتون مبارک
من یک datagrid دارم که ردیف های اطلاعات داخل اون به سه دسته تفکیک میشن و در واقع در بک گراند ردیف ها با سه رنگ مختلف متمایز میشن.
حالا سوال: زمانی که شما روی یک ردیف کلیک میکنی به صورت پیش فرض رنگ زمینه ردیف آبی میشه! با توجه به اینکه من خودم به ردیف ها رنگ های مختلفی دادم میخوام این اتفاق نیفته. یعنی موقع کلیک رنگ زمینه ردیف عوض نشه. یه اتفاقی شبیه رویداد MouseLeftButtonDown به صورت پیشفرض اجرا میشه که کارمو خراب میکنه.
البته برای غیر فعال کردنش این استایلو دادم به سلول و ردیف ها ی دیتا گریدم ولی بازم درست کار نمیکنه.

<Style x:Key="DGHeaderStyle_ersal" TargetType="{x:Type DataGrid}">
<Setter Property="ColumnHeaderStyle" Value="{StaticResource DGCHeaderStyle1}"/>
<Setter Property="RowStyle" Value="{StaticResource DGRHeaderStyle_ersal}" />
<Setter Property="CellStyle" Value="{StaticResource DGcellstyle}"/>
<Setter Property="Background" Value="BlueViolet"/> </Style>

و ادامه



<Style x:Key=" DGcellstyle " TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{x:Null}"/>
</Trigger>
</Style.Triggers>
</Style>


ادامه
<Style x:Key=" DGRHeaderStyle_ersal " TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{x:Null}"/>
</Trigger>
</Style.Triggers>
</Style>
البته توی برنامه ترتیبشون رو درست چیدم و خطا نمیده ولی بازم نتیجه نگرفتم.
میشه راهنمایی کنید.ممنونم

ghace.shh
چهارشنبه 20 فروردین 1399, 23:16 عصر
یعنی تا حالا کسی نخواسته این های لایت کردن اتوماتیک ردیف ها در دیتا گرید برنامش اتفاق نیفته؟:متفکر::متفکر:

the king
پنج شنبه 21 فروردین 1399, 06:34 صبح
یعنی تا حالا کسی نخواسته این های لایت کردن اتوماتیک ردیف ها در دیتا گرید برنامش اتفاق نیفته؟:متفکر::متفکر:

نه. :لبخند:


<Grid>
<Grid.Resources>
<Style x:Key="DGRHeaderStyle_ersal" TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="LightGreen" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="LimeGreen" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="DGcellstyle" TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Border.Background" Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="DGHeaderStyle_ersal" TargetType="{x:Type DataGrid}">
<Setter Property="RowStyle" Value="{StaticResource DGRHeaderStyle_ersal}" />
<Setter Property="CellStyle" Value="{StaticResource DGcellstyle}" />
<Setter Property="Background" Value="BlueViolet" />
</Style>
</Grid.Resources>
<DataGrid Style="{StaticResource DGHeaderStyle_ersal}" AlternationCount="3">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1" />
<DataGridTextColumn Header="Column2" />
</DataGrid.Columns>
<DataGrid.Items>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</DataGrid.Items>
</DataGrid>
</Grid>

ghace.shh
پنج شنبه 21 فروردین 1399, 12:34 عصر
آقا دم شما گرم.
فدایی داری به مولا.....:تشویق::تشویق::تشویق:
رمز کد توی Property="ItemsControl.AlternationIndex" بود!
توی کل سایتای خارجی گشتم این قسمت رو هیچ خارجی کند ذهنی نگفته بود....دم شما هموطنای باهوش گرم:قلب::بامزه: