W moim stylu WPF Mam zdefiniowane standardową wysokość siatki wiersza chciałbym zastosować do kilku miejscach tak:Ustawianie RowDefinition wysokość od StaticResource
<system:Double x:Key="TableRowHeight">22</system:Double>
Jednak to nie działa, gdy chciałbym aby zastosować to tak:
<RowDefinition Height="{StaticResource TableRowHeight}"/>
Zamiast muszę stworzyć kompletny styl lubię:
<Style x:Key="GridTableRow" TargetType="{x:Type RowDefinition}">
<!--<Setter Property="Height" Value="{StaticResource TableRowHeight}"/>-->
<Setter Property="Height" Value="22"/>
</Style>
jak widać z linii komentarza, która próbuje odwoływać się do stałej liczbowej w definicji stylu, również nie działa, ale ma wartość "zakodowana".
Teraz szukałem go i myślę, że to dlatego, że typ związany z właściwością wysokość GridLength i jakoś nie udaje się automatycznie rzutować podwójną wartość, gdy comming z innego źródła ...
Problem polega na tym, że nie istnieje sposób tworzenia obiektu GridLength z XAML. Proporcja wartości jest tylko do odczytu. Więc coś takiego nie działa albo:
<Style x:Key="GridTableRow" TargetType="{x:Type RowDefinition}">
<Setter Property="Height">
<Setter.Value>
<GridLength Value="{StaticResource TableRowHeight}"/>
</Setter.Value>
</Setter>
</Style>
Czy istnieje sposób, aby uzyskać to do pracy, czy mam po prostu zapomnieć użyciem że stała i wystarczy użyć stylu RowDefinition o wartości zakodowanego na stałe w miejscu stała?
Sugestia z użyciem składni '{Binding Source = ...}' działa! Dzięki! – bjavor
Definiowanie GridLength zgodnie z powyższymi sugestiami i innymi odpowiedziami działa również, ale ma tę samą wadę, co zdefiniowanie całego stylu RowDefinition z zakodowaną wartością ... Nie można powiązać wartości z systemem: podwójny zasób. (Przynajmniej nie znalazłem sposobu, aby odnieść się do innego zasobu od środka znacznika ...) I nie ma atrybutu "Wartość" ujawnionego na GridLength ... – bjavor
EDYCJA: Powód, dla którego nalegam łącząc się z podwójną wartością, ponieważ może potrzebować ponownie użyć tej wartości w innym kontekście, który nie wymaga GridLength lub innego wyspecjalizowanego zasobu ... – bjavor