WPF - tworzenie UI

WPF - tworzenie UI
RO
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Warszawa
  • Postów:75
0

Cześć chciałbym zrefaktoryzować style dużej aplikacji WPF i nie bardzo wiem jak się za to wziąć jakie są do tego wzorce chodzi mi jak tworzyć style coś w rodzaju templatek i CSS-a.

Potrzebuje zarówno sposobu jak opisywać poszczególne elementy UI w nazwach styli kontrolek jak i samego pomysłu jak stworzyć jasny i przejrzysta strukturę plików ze stylami


Poszukiwanie narzędzia do tworzenia instalatora
jarzi
  • Rejestracja:prawie 10 lat
  • Ostatnio:16 dni
  • Postów:96
1

@Robotyka: Ja tworzę ResourceDictionary albo w projekcie, w którym jest GUI albo w oddzielnym assembly i w zależności od wielkości projektu i złożoności styli sobie to dzielę np. per kontrolka albo jeden plik ze stylami, gdzie obsługuję każdą kontrolkę jako target i ew. jakiś custom gdzie ustawiam key


Loading...
RO
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Warszawa
  • Postów:75
0

@jarzi: Coś takiego to ja już mam podzieliłem na różne pliki - palete kolorów podstawowych, paleta szczegółowa, style dla kontrolek podstawowych i oddzielną dla dedykowanych i style do czegoś co można nazwać templatką główne style używane w konstrukcji widoków.
Chodzi mi głównie o to ostatnią jak ją zrobić oraz skąd wziąśc nazewnictwo do kluczy np. <Style x:Key="Layout.Column.HeaderOrFooter" TargetType="DockPanel">


Poszukiwanie narzędzia do tworzenia instalatora
jarzi
  • Rejestracja:prawie 10 lat
  • Ostatnio:16 dni
  • Postów:96
1

@Robotyka: Tworzysz ResourceDictionary o nazwie Borders dodajesz np.

Kopiuj
<Style x:Key="RoundedBorder" TargetType="{x:Type Border}"> //x:Key to dowolna nazwa, zależy jaką masz konwencję w projekcie,
//ja używam opisowych nazw na ms możesz zobaczyć jaką oni mają konwencję nazewnictwa,
//generalnie jak masz więcej motywów to prócz PascalCase to możesz rozdzielać kropkami żeby to jakoś pogrupować
   <Setter Property="CornerRadius" Value="30,30,30,30" />
   <Setter Property="BorderThickness" Value="1" />
</Style>

wywołujesz:

Kopiuj
<Border Style="{StaticResource RoundedBorder}" >
    <Grid>
    </Grid>
</Border>

Tylko jeszcze zaimportuj te style w App.xaml

Kopiuj
<ResourceDictionary.MergedDictionaries>
    <styles:Borders/>
</ResourceDictionary.MergedDictionaries>

Możesz nie podawać klucza wtedy będzie się to tyczyło wszystkich kontrolek typu jaki określisz w TargetType i będzie to domyślny styl, możesz jeszcze używać BasedOn gdzie bazujesz na jakimś stylu


Loading...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.