Diskuze: WPF dataGrid1.SelectedIndex (barva)
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
mělo by to jít vyřešit nějakým stylem pro pozadí buňky(cell) a tento styl aplikovat pomocí triggeru.
takto řeším v datagridu neoznačování buňky, do které se kliklo.
<Style TargetType="{x:Type DataGridCell}" >
<Setter Property="BorderThickness" Value="0"/>
</Style>
Já jsem to zkusil takhle, ale nevim proč to vůbec nic nedělá:
<DataGrid.SelectedItem>
<Style TargetType="DataGridCell">
<Setter Property="Background" Value="Red"></Setter>
</Style>
</DataGrid.SelectedItem>
Přitom mě to přijde, žeby to nějak takto mělo být napsané správně.
jak jsem psal, musí se použít trigger takhle to funguje
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
Super, dík, takhle to označování fakt jede. Akorát tam teď vznikly dva problémy, když si teď něco označím, tak se mě obsah buňky posune doleva-nahoru asi o 2px, a taky se mě neoznačuje úplně celý řádek - některé buňky to přeskakuje (přesněji ty, u kterých se mění barva textu)
Kupodivu ale ty přeskočené buňky se vybarvují tou základní šedo-bílou barvou pro ty "selectované" jak předtím
Chceš selektovat celý řádek předpokládám? Mě to funguje dobře, ten styl jsem si dal do App.xaml . Uložíš někam ten tvůj projekt? Mrknul bych se na to.
Už jsem to vyřešil. To, že se mě obsah buňek posouval doleva-nahoru bylo tím, že jsem měl
<Setter Property="BorderThickness" Value="0"/>
umístěno v Triggeru. A To, že mě barva pozadí ignorovala některé buňky bylo tím, že jsem v těch buňkách měl už jednou
<Style TargetType="DataGridCell">
kterýma jsem nastavoval jen barvu textu a nenapadlo mě to, že když tam není vyplněná barva pozadí, tak jí bere jako základní v každém případě, ať je definovaná jinde nebo není. Takže jsem do těch buněk přidal jen Trigger cos mě poradil. Ted už to jede podle představ, takže móc děkuju.
Zobrazeno 9 zpráv z 9.