WPF: объекты в шаблоне
От: j0ey  
Дата: 14.05.12 06:54
Оценка:
Понадобилось "вживить" в стандартный ScrollViewer несколько контролов, благодаря которым пользователь мог бы менять коэффициенты масштабирования по горизонтали и вертикали.

Первое что пришло в голову — это изменение свойства Template в стиле для ScrollViewer:

<Style x:Key="CustomScrollViewer" TargetType="{x:Type ScrollViewer}">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ScrollViewer}">
                        <!-- добавляем элементы из которых состоит ScrollViewer-->
                        <Grid>
                         ...
                            <ScrollBar x:Name="PART_VerticalScrollBar" ... >
                            <!--добавляем кнопки "+" "-", а так же Slider, для изменения масштаба по вертикали-->
                            <StackPanel VerticalAlignment="Bottom" Width="17" Height="131" Grid.Row="0" Grid.Column="1" Orientation="Vertical">
                               <Button x:Name="vert_plus_btn" Content="+" Height="18" Width="17" Padding="0,-2,0,0"/>
                               <Slider x:Name="vert_slider" Style="{StaticResource sl}" Orientation="Vertical" Height="95" .../>
                               <Button x:Name="vert_minus_btn" Content="-" Height="18" Width="17" Padding="0,-2,0,0"/>
                            </StackPanel>
                         ...


В результате при нажатии на кнопки vert_plus_btn("+"), vert_minus_btn("-") или при перемещении slider'а vert_slider — масштаб должен изменяться.
Вопрос: как можно получить ссылку на объект vert_slider в cs файле реализации(С#), чтобы изменять его свойство vert_slider.Value при каждом новом нажатии на "+" или "-"? Или же подход иной?)

Спасибо.0,-2,0,0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.