WPF Style Setter * Hauteur et Largeur
Je suis en train de créer une application WPF qui se compose d'une grille de 9x9 avec les lignes et de colonnes à l'aide de différents styles. Ce que je veux faire est de fournir une star de la valeur pour la hauteur et la largeur de la colonne et de la ligne de définitions. Cela ne semble pas fonctionner dans le contexte actuel. Est-ce même possible, et si oui, comment?
<Window x:Class="BaroqueChessUI.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="500" Width="500">
<Window.Resources>
<Style x:Key="LightBackground" >
<Setter Property="Control.Background" Value="Teal" />
</Style>
<Style x:Key="DarkBackground" >
<Setter Property="Control.Background" Value="Maroon" />
</Style>
<Style x:Key="FileStyle">
<Setter Property="Control.Width" Value="0.12" />
</Style>
<Style x:Key="RankStyle">
<Setter Property="Control.Height" Value="0.12" />
</Style>
<Style x:Key="FileHeadingStyle">
<Setter Property="Control.Width" Value="0.04" />
</Style>
<Style x:Key="RankHeadingStyle">
<Setter Property="Control.Height" Value="0.04" />
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Name="rdRank" Style="{StaticResource FileHeadingStyle}" />
<RowDefinition Name="rdRank1" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank2" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank3" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank4" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank5" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank6" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank7" Style="{StaticResource FileStyle}" />
<RowDefinition Name="rdRank8" Style="{StaticResource FileStyle}" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Name="cdFile" Style="{StaticResource RankHeadingStyle}" />
<ColumnDefinition Name="cdFile2" Style="{StaticResource RankStyle}" />
<ColumnDefinition Name="cdFile3" Style="{StaticResource RankStyle}" />
<ColumnDefinition Name="cdFile4" Style="{StaticResource RankStyle}" />
<ColumnDefinition Name="cdFile5" Style="{StaticResource RankStyle}" />
<ColumnDefinition Name="cdFile6" Style="{StaticResource RankStyle}" />
<ColumnDefinition Name="cdFile7" Style="{StaticResource RankStyle}" />
<ColumnDefinition Name="cdFile8" Style="{StaticResource RankStyle}" />
</Grid.ColumnDefinitions>
</Grid>
OriginalL'auteur CodeMonkey1313 | 2009-04-01
Vous devez vous connecter pour publier un commentaire.
Une grille de définition de la colonne /ligne de définition de définir la mise en page, et dans les zones définies, vous devriez ajouter des contrôles qui doivent être de style (en utilisant les propriétés jointes que vous pourriez obtenir fastidieux), alors essayez de ne pas le style de la rowdefintions /columnsdefinitions eux-mêmes.
Des Éléments De Style:
Vous pouvez entrer une commande dans une ligne /colonne comme (désolé si je suis condescendant):
Puis définir le Style sur le contrôle au sein de la Ligne/Colonne.
De Dimensionnement (Star Valeurs):
Remarque: la Grille de remplir dynamiquement l'espace disponible comme votre code stands et vous aurez seulement besoin d'appliquer star valeurs si vous définissez une fixe en hauteur et de la largeur de la Grille et souhaitez répartition proportionnelle de l'espace restant.
En d'autres mots... en ce qui concerne la réalisation des étoiles "valeur":
Pourquoi ne pas simplement saisir la valeur de like pour votre définitions?:
Dans cet exemple, le rowdefinition nommé "rdRank" aurait une hauteur fixe de "500", et l'espace restant sera alloué à "rdRank1", ce qui pourrait prendre jusqu'à 60% et "rdRank2" de 40%.
**Propriétés Jointes: **
Votre style:
Vous en donner le contrôle à l'intérieur de l'élément de ce style est appliqué à une propriété appelée Hauteur doit prendre la valeur de 0,12. De contrôle.Hauteur de l'extrémité de filtrage vers le bas afin de parler.
Si vous cherchez à atteindre une hauteur de 0,12* sur la Ligne d'utilisation:
..
En utilisant un "TargetType' vous permet de cibler le Type de propriétés spécifiques, et en tant que résultat permet l'utilisation de l'Étoile de Valeurs.
Espère que cela éclaircit quelques concepts pour vous.
OriginalL'auteur
La ligne ou la colonne star de dimensionnement ne fonctionne que si vous donnez la grille, une largeur et une hauteur. Si la grille est auto-dimensionnement en fonction de son contenu, puis la star de dimensionnement ne fonctionne pas.
OriginalL'auteur Carlos