Приложение PRISM WPF Изменение фона ShellView, добавленного в качестве фона сетки в представлениях, добавлено - PullRequest
0 голосов
/ 18 августа 2011

у нас есть приложение PRISM WPF - MVP, у нас есть оболочка, отображающая логотип приложения через свойство Grid.Background.Теперь, когда вид добавлен в основной регион, фон выглядит очень странно на заднем плане.Поскольку вид, отображаемый на оболочке, прозрачен, это происходит.После нескольких «мозговых штурмов» единственное решение, которое у нас есть, - это зарегистрировать событие RegionManager.Regions [MainRegion] .Views.CollectionChanged и добавить в обработчик событий такую ​​логику, чтобы: если в нем нет представлений, то попросите представление отобразитьфон еще, попросите его скрыть фон.

Есть ли лучшая альтернатива этому?Спасибо!

1 Ответ

0 голосов
/ 18 августа 2011

Я не знаю, каков ваш MainRegion, но вы всегда можете просто установить его как Style. Это должно работать с некоторыми незначительными изменениями для любого региона, но вот пример, если ваш MainRegion просто Window:

<Window x:Class="MyNamespace.Shell"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:prism="http://www.codeplex.com/prism"
        Title="Shell"
        prism:RegionManager.RegionName="MainRegion">

    <Window.Style>
        <Style TargetType="{x:Type Window}">
            <Setter Property="Background" Value="White" />
            <Style.Triggers>
                <Trigger Property="Content" Value="{x:Null}">
                    <Setter Property="Background" 
                            Value="{StaticResource LogoBrush}" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Style>
</Window>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...