Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Почему в ContentControl не отображается назначенное ему фоновое изображение? / 8 сообщений из 8, страница 1 из 1
28.05.2010, 17:28
    #36656054
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<Window x:Class="WpfTemplates.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="TamplateViewer (XAML-format)" Height="337" Width="488" Name="win">
    <Grid Name="mainGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="50*" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="50*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="40*" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="60*" />
        </Grid.ColumnDefinitions>
        <GridSplitter Grid.Column="1" Grid.RowSpan="3"
                      HorizontalAlignment="Center" VerticalAlignment="Stretch" Width="5"/>
        <GridSplitter Grid.Column="2" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Center" Height="5"/>
        <!--Кнопка, изображение которой хочу задать фоном для ряда следующих контролов-->
        <Button Content="Источник фона..." HorizontalAlignment="Stretch" Margin="5" Name="button1" VerticalAlignment="Stretch" />
        <!--Первый подопытный кролик: ContentControl-->
        <ContentControl Name="contentControl" Grid.Column="2" Content="ContentControl" 
                        BorderBrush="Red" BorderThickness="5" Margin="5">
            <ContentControl.Background>
                <VisualBrush Visual="{Binding ElementName=button1}"/>
            </ContentControl.Background>
        </ContentControl>
        <!--Второй подопытный кролик: TextBlock-->
        <TextBlock Name="xamlCode" Grid.Column="2" Grid.Row="2">
            <TextBlock.Background>
                <VisualBrush Visual="{Binding ElementName=button1}"/>
            </TextBlock.Background>
        </TextBlock>
    </Grid>
</Window>

...
Рейтинг: 0 / 0
28.05.2010, 18:44
    #36656200
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
Compositum,

а где path то?
...
Рейтинг: 0 / 0
28.05.2010, 20:59
    #36656332
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
AlexeiKCompositum,

а где path то?
При чём тут path, это ведьVisualBrush. См. ниже - для TextBlock аналогичная разметка работает.
...
Рейтинг: 0 / 0
29.05.2010, 03:19
    #36656612
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
А какой-такой бекграунд вы хотите у ContentControl'а?
Бекграунд может быть (а может и не быть) у контента, отображаемого в контроле.
Можете у контрола контента (или у темплейта ContentControl'а) прибиндиться к нужному св-ву ContentControla, если хотите.
...
Рейтинг: 0 / 0
29.05.2010, 18:06
    #36657001
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
ЛПА какой-такой бекграунд вы хотите у ContentControl'а?
Такой же, какой был задан для TextBlock.

ЛП
Бекграунд может быть (а может и не быть) у контента, отображаемого в контроле.
Он может быть только у такого элемента, который является производным от Control (в котором собственно и определено свойство зависимостей Background). Все используемые мною в указанном выше примере элементы наследуются от Control.
ЛП
Можете у контрола контента (или у темплейта ContentControl'а) прибиндиться к нужному св-ву ContentControla, если хотите.
Я хочу всего лишь отобразить в качестве фона визуальное представление обозначенной мною в разметке кнопки.
...
Рейтинг: 0 / 0
29.05.2010, 21:01
    #36657141
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
2 Compositum
Бекграунд может быть (а может и не быть) у контента, отображаемого в контроле.
Он может быть только у такого элемента, который является производным от Control (в котором собственно и определено свойство зависимостей Background). Все используемые мною в указанном выше примере элементы наследуются от Control.

У контрола может и есть, а у контента - совершеннейший нефакт.
И у ContentPresenter'а, который отображает контент ContentControl'а его нету.

Я хочу всего лишь отобразить в качестве фона визуальное представление обозначенной мною в разметке кнопки.
В качестве фона чего ???
Есть у вас например контент типа System.DateTime.
Что вы подразумеваете под "фоном" контента типа System.DateTime?
Если у вас контент представлен каким-либо контролом/фрейворкэлементом/темплейтом - ну вот в этом контроле/фраймворкэлементе/темплейте и задавайте фон, если таковое свойство там есть, конечно.

BTW, вы скорее всего обманываете мировое сообщество. Вы вовсе не хотите "отобразить в качестве фона чтототам". Вы хотите поговорить.
Хотели бы отобразить фон - открыли бы хелп, и поглядели бы, как в контентконтроле отобразить фон.
...
Рейтинг: 0 / 0
29.05.2010, 21:53
    #36657181
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
1.ЛП
У контрола может и есть, а у контента - совершеннейший нефакт.
И у ContentPresenter'а, который отображает контент ContentControl'а его нету.
При чём тут контент? Ведь я же назначаю фон не для контента , а для сущности, которая размещает этот контент на себе. Фон элемента и фон его контента - это совершенно разные вещи. Для вас поясняю более детально, на примере, в котором Window - НЕ контент, а Grid - контент. Фон можно назначить обоим и это совершенно разные вещи:
Код: plaintext
1.
2.
3.
4.
5.
6.
<Window x:Class="WpfTreeBrowser.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Обозреватель визуального дерева интерфейсных элементов WPF" Width="500" Height="300" Background="Azure">
    <Grid Width="200" Height="200" Background="Aqua" />
</Window>

Результат:



2.ЛП
В качестве фона чего ???
Странный вопрос.... В качестве фона графического элемента управления WPF.
3.ЛП
Есть у вас например контент типа System.DateTime.
Что вы подразумеваете под "фоном" контента типа System.DateTime?
Если у вас контент представлен каким-либо контролом/фрейворкэлементом/темплейтом - ну вот в этом контроле/фраймворкэлементе/темплейте и задавайте фон, если таковое свойство там есть, конечно.
Вы по прежнему путаете Бебеля с Гегелем... Возвращаю вас к п.1.
ЛП
BTW, вы скорее всего обманываете мировое сообщество. Вы вовсе не хотите "отобразить в качестве фона чтототам". Вы хотите поговорить.
Хотели бы отобразить фон - открыли бы хелп, и поглядели бы, как в контентконтроле отобразить фон.
Если у вас нет ответа на вопрос - не пишите. Свои домыслы оставьте при себе и не превращайте топик в флуд. Я чётко обозначил что именно мне нужно. Точка.
...
Рейтинг: 0 / 0
29.05.2010, 23:51
    #36657272
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в ContentControl не отображается назначенное ему фоновое изображение?
2 Compositum
ЛП
В качестве фона чего ???
Странный вопрос.... В качестве фона графического элемента управления WPF.
Кто вам сказал, что у графического элемента управления WPF (причем примерно этак произвольного) свойство Background, будучи установлено, возьмёт да и закрасит нужным образом... кстати, что именно закрасит? ... неважно, закрасит к примеру какой-нибудь прямоугольник, на всё пространство шириною Width и высотою Height?
Кажется, вы именно такого поведения ожидаете, но это не так. И непонятно, с чего вы взяли, что оно должно быть так.
То, что св-во присутствует - вовсе не значит, что оно вообще хоть как-то должно контролом учитываться при отрисовке. Или учитываться именно так, как вам почему-то захотелось.

В качестве примера возьмите любимое вами Background для других контролов. Примените его к чекбоксу, например. (кстати, можете обойтись без скриншотов). Вы для чекбокса тоже будете ожидать, что после установки Background'а всё пространство, отведённое под контрол, будет заполненно нужным цветом (кистью)? Нет? Тогда непонятно, почему вы ожидаете такого поведения от ContentControl'а
Не обрабатывает ContentControl св-во Background. И по логике не должен.

Вы по прежнему путаете Бебеля с Гегелем... Возвращаю вас к п.1.
Нет, я по началу думал, что это вы путаете гегеля с бабелем.
Но оказывается, вы вообще хотите странного.

Если у вас нет ответа на вопрос - не пишите.
Я вам уже написал - пример установки бекграунда для контентконтрола находится в хелпе. Чего непонятного? Пофлудить охота? Или с первого раза не доходит?
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Почему в ContentControl не отображается назначенное ему фоновое изображение? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]