Стиль WPF UserControl

zip все списки значений вместе, а затем зашифруйте каждое результирующее tuple значений с помощью клавиш, чтобы сделать новые dict с:

result = [dict(zip(d, vs)) for vs in zip(*d.values())]

Попробуйте онлайн! [ 119]

Это работает, потому что порядок итераций для dict согласуется с порядком итераций его значений (это порядок вставки в 3.6+, но он совместим для данного запуска Python для всех версий); ключи из d в «каждом цикле» zip будут повторяться в том же порядке, в котором значения были вытянуты вперед zip.

Это предполагает, что под «возрастающим порядком» вы подразумеваете «сохраняет порядок входных данных»; если это не так, разумное использование встроенного sorted было бы необходимо.

5
задан Dave Clemmer 15 August 2011 в 18:01
поделиться

2 ответа

Я думаю, что Вы пропускаете некоторые двойные кавычки:

Попробуйте это:

<Window.Resources>
    <Style TargetType="{x:Type UserControl}">
        <Setter Property="Background" Value="Red" />
    </Style>
</Window.Resources>
<Grid>
    <UserControl Name="control" Content="content"></UserControl>
</Grid>
2
ответ дан 18 December 2019 в 06:36
поделиться

Можно только установить стиль на определенный класс, таким образом, это будет работать (создайте объект UserControl, не очень полезный):

<Window.Resources>
    <Style TargetType="{x:Type UserControl}">
        <Setter Property="Background" Value="Red" />
    </Style>
</Window.Resources>
<Grid>
    <UserControl Name="control" Content="content"></UserControl>
</Grid>

Но это не делает (Создайте класс, полученный из UserControl):

<Window.Resources>
    <Style TargetType="{x:Type UserControl}">
        <Setter Property="Background" Value="Red" />
    </Style>
</Window.Resources>
<Grid>
    <l:MyUserControl Name="control" Content="content"></l:MyUserControl>
</Grid>

То, что можно сделать, или явно установлено стиль с помощью Свойства стиля:

<Window.Resources>
    <Style TargetType="{x:Type UserControl}" x:Key="UCStyle">
        <Setter Property="Background" Value="Red" />
    </Style>
</Window.Resources>
<Grid>
    <l:MyUserControl Name="control" Content="content" Style="{StaticResource UCStyle}"></l:MyUserControl>
</Grid>

или создайте стиль для каждого производного класса, можно использовать BasedOn, чтобы не копировать содержание стиля:

<Window.Resources>
    <Style TargetType="{x:Type UserControl}" x:Key="UCStyle">
        <Setter Property="Background" Value="Red" />
    </Style>
    <Style TargetType="{x:Type l:MyUserControl}" BasedOn="{StaticResource UCStyle}" />
</Window.Resources>
<Grid>
    <l:MyUserControl Name="control" Content="content"></l:MyUserControl>
</Grid>
22
ответ дан 18 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: