Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
 Не работает Background="{TemplateBinding Background}"  [new]
Pavluha
Member

Откуда:
Сообщений: 1564
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ComboBox">
                <Grid>
                    <ToggleButton 
                        Name="ToggleButton" 
                        Template="{StaticResource ComboBoxToggleButton}" 
                        Grid.Column="2" 
                        Focusable="false"
                        IsChecked="{Binding Path=IsDropDownOpen,Mode=TwoWay,
                            RelativeSource={RelativeSource TemplatedParent}}"
                        ClickMode="Press">
                    </ToggleButton>
                    <ContentPresenter
                        Name="ContentSite"
                        IsHitTestVisible="False" 
                        Content="{TemplateBinding Tag}"
                        Margin="3,3,23,3"
                        VerticalAlignment="Center"
                        HorizontalAlignment="Left" />
                    <Popup 
                        Name="Popup"
                        Placement="Bottom"
                        IsOpen="{TemplateBinding IsDropDownOpen}"
                        AllowsTransparency="True" 
                        Focusable="False"
                        PopupAnimation="Slide">
                        <Grid 
                            Name="DropDown"
                            SnapsToDevicePixels="True"                
                            MinWidth="{TemplateBinding ActualWidth}"
                            MaxHeight="{TemplateBinding MaxDropDownHeight}">
							<Border x:Name="DropDownBorder"
									BorderThickness="1"
									Background="{TemplateBinding Background}"
									BorderBrush="{StaticResource SolidBorderBrush}"/>
							<ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True">
                                <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" />
                            </ScrollViewer>
                        </Grid>
                    </Popup>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="HasItems" Value="false">
                        <Setter TargetName="DropDownBorder" Property="MinHeight" Value="95"/>
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="false">
                        <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
					</Trigger>
					<Trigger Property="IsGrouping" Value="true">
                        <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
                    </Trigger>
                    <Trigger SourceName="Popup" Property="Popup.AllowsTransparency" Value="true">
                        <Setter TargetName="DropDownBorder" Property="CornerRadius" Value="5"/>
						<Setter TargetName="DropDownBorder" Property="Margin" Value="0,2,0,0"/>
				</Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>


Не работает
<Border x:Name="DropDownBorder"	BorderThickness="1" Background="{TemplateBinding Background}" BorderBrush="{StaticResource SolidBorderBrush}"/>

В чем проблема и как это побороть?

Изменяю Background так
<local:DateTimePicker x:Name="dateTimePicker" Grid.Row="0" Width="100" Height="30" Background="Red"/>
21 июл 11, 11:24    [11005152]     Ответить | Цитировать Сообщить модератору
 Re: Не работает Background="{TemplateBinding Background}"  [new]
Руки-крюки
Member

Откуда:
Сообщений: 681
Pavluha,

Пробуйте так:
{Binding Path=Background, RelativeSource={RelativeSource TemplatedParent}}
21 июл 11, 12:48    [11006092]     Ответить | Цитировать Сообщить модератору
 Re: Localization  [new]
Pavluha
Member

Откуда:
Сообщений: 1564
Руки-крюки
Пробуйте так:
{Binding Path=Background, RelativeSource={RelativeSource TemplatedParent}}


Не работает ((
21 июл 11, 13:01    [11006207]     Ответить | Цитировать Сообщить модератору
 Re: Не работает Background="{TemplateBinding Background}"  [new]
уТКа
Member

Откуда: Страна дураков и разбитых дорог
Сообщений: 1266
Pavluha,

так может ваш Template вначале натянуть на сам контрол (задать Style)?
21 июл 11, 13:28    [11006410]     Ответить | Цитировать Сообщить модератору
 Re: Не работает Background="{TemplateBinding Background}"  [new]
Руки-крюки
Member

Откуда:
Сообщений: 681
Pavluha,

Вы привязываетесь к бекграунду ComboBox'а, и потом делаете Background="Red" для DateTimePicker'а. Привяжите бекграунд ComboBox'а к Parent'у (DateTimePicker если он конечно Parent).
21 июл 11, 16:53    [11008197]     Ответить | Цитировать Сообщить модератору
 Re: Localization  [new]
Pavluha
Member

Откуда:
Сообщений: 1564
Сделал вот так:
Background="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:DateTimePicker}}, Path=Background}"


Всем спасибо!!!
21 июл 11, 17:26    [11008481]     Ответить | Цитировать Сообщить модератору
Все форумы / WPF, Silverlight Ответить