Конфликтующее окно и локальный ресурс в приложении WPF - PullRequest
0 голосов
/ 09 февраля 2012

При кодировании приложения WPF я использовал ListView и определил шаблон как ресурс на этом уровне:

<ListView IsSynchronizedWithCurrentItem="true" ItemTemplate="{StaticResource CardViewTemplate}">
    <!--ItemTemplate="{StaticResource CardViewTemplate}" -->
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel></WrapPanel>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
    <ListView.Resources>
        <DataTemplate x:Key="CardViewTemplate">
            <GroupBox Header="{Binding Path=Product Name}" Width="290" BorderThickness="4" FontSize="14"
                    FontStyle="Normal" Padding="10" BorderBrush="DarkBlue" Background="{x:Null}" Margin="12"
                    UseLayoutRounding="True">
                <StackPanel Name="stackPanel1">
                    <WrapPanel Orientation="Vertical" Name="wrapPanel1">
                        <WrapPanel Orientation="Horizontal">
                            <TextBlock MinWidth="80" Text="{Binding Path=Product
                                                             Name}" FontSize="16" FontWeight="Bold"
                                    TextAlignment="Center" />
                        </WrapPanel>
            </GroupBox>
        </DataTemplate>
    </ListView.Resources>
</ListView>

Однако это прекрасно работает, когда я использую Resource (Expression Dark) на уровне окнаListView выглядит пустым.

Есть предложения относительно того, что может быть причиной?Я перепробовал все, что мог придумать

Ответы [ 3 ]

0 голосов
/ 09 февраля 2012

когда я использую Ресурс (Темное выражение) на уровне окна

Темы не работают должным образом на уровне окна.Или что именно вы делаете ?

0 голосов
/ 24 января 2013

Существует (несколько) проблема с ExpressionDark. шаблон.

Для проблемы с пустой строкой измените тему после следующей строки:

    <GridViewRowPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Margin="0,2,0,2" VerticalAlignment="Stretch" />

После добавления ContentPresenter:

    <GridViewRowPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Margin="0,2,0,2" VerticalAlignment="Stretch" />
    <ContentPresenter />

У меня была такая же проблема, и я нашел решение здесь: http://bogdanvarlamov.com/2011/01/21/expressiondark-wpf-theme-listview-problem/

Чем больше я использую ExpressionDark, тем больше у меня проблем с ним и тем больше я думаю о переходе на лучшую тему!

0 голосов
/ 09 февраля 2012

Может быть несколько причин ...

  1. Ваш ListView находится непосредственно под Window?
  2. Если шаблон Dark правильно настроен?
  3. Применяется ли это, если вы непосредственно задаете его в виде списка (без ссылки на статический ресурс) ...

     <ListView>
       <ListView.ItemTemplate>
          <DataTemplate x:Key="CardViewTemplate">
              ...
          </DataTemplate> 
       </ListView.ItemTemplate>
     </ListView> 
    

?

...