Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
Avatar
Kartmen
Člen
Avatar
Kartmen:22.7.2019 7:41

Ahoj, chci v XAML ve stylu nastavit vlastnost template a v ní command tak, abych následně pří použití stylu v jiném souboru XAML šlo jen změnit v jaké třídě se má command hledat. Zkusím to trochu přiblížit.
Mám soubor XAML, který slouží jako resourse pro další a v něm je něco jako:

<Style x:Key="CustomWindowStyle1" TargetType="{x:Type Window}">
  <Setter Property="BorderBrush" Value="Black" />
  <Setter Property="Background" Value="Gray" />
  <Setter Property="Template" >
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type Window}">
        <Button x:Name="btn1"
                Width="15"
                Margin="5"
                VerticalContentAlignment="Bottom"
                Command=""
                Content="_" />
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

A chtěl bych doplnit Command tak, aby to kde se command hledá (namespace a třída) bylo variabilní. Command by mohl vypadat třeba takto Command="nsp:tří­da.ZavřiOkno".

Pak ale při použití stylu "CustomWindow­Style1" potřebuju nahradit pro všechny Command namespace a třídu ze stylu. Takže ve všech vlastnostech Command potřebuju nahradit část "nsp:třída".
Možná by to šlo pomocí MultiBinding Converteru, který by Command složil ze dvou řetězců, nebo jestli to má nějaké lepší řešení?

Chci docílit: Chtěl bych co nejvíc kódu mít v XAML, v nějakém stylu uloženém v resources, který pak budu častěji používat s minimem lokálních úprav.

 
Odpovědět
22.7.2019 7:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.