Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Редактирование ресурсов в Blend'е?


Автор: San4o_Pan4o 8.11.2009, 20:51
Собвственно интересует такой вопрос: можно ли в Blend'е редактировать (и видеть результат при этом) темплейты из раздела, например, Window.Resources? К примеру, я бы хотел поредактить GridView для ListView, но у меня он по умолчанию не юзается, т.е. неактивен, а вид поменять хотелось бы..

Автор: exBlender 10.11.2009, 06:47
А почему нельзя?

Код

<ListView >
   <ListView.View>
       <GridView>
          <GridViewColumn/>
      </GridView>
   </ListView.View>
</ListView>


По умолчанию там, вроде бы, стиль для Grid не определен, - можно написать любой.

Если же имеется в виду стиль для Header, то это довольно противная матрешка. Путь к Header примерно такой:


1. ListView > [RightClick] > EditTemplate > Edit a Copy...

Внутри ListView:

2. ScrollViewer > [RightClick] > EditTemplate > Edit a Copy...

Внутри ScrollViewer:

DockPanel > ScrollViewer  > GridViewHeaderRowPresenter[выбрать]

Затем на верхней(!) панели:

Object > EditAdditionalStyles > EditColumhHeaderContainerStyle > Edit a Copy...

Тут уже можно поизвращаться 


Это я только что проверил в Висте. Если брать за основу Classic стиль виндовс, там строение темплейта может отличаться.

Автор: San4o_Pan4o 11.11.2009, 17:33
Я может неудачно выразился.. Я имею в виду, что у меня ListView.View = TileView по умолчанию, где TileView - вид, который я сам написал вместе со стилями. Теперь я в ресурсы окна добавил с некоторым ключом GridView, чтобы предоставить пользователю альтернативный вид в принципе. И хотелось бы стили в Blend'е для GridView намутить, это возможно? GridView НЕ привязан к ListView.View, он просто пока в ресурсах окна болтается.

Автор: exBlender 13.11.2009, 07:18
По описанию трудно понять, в чем там загвоздка.
Если, к примеру, есть ресурсы, вроде
Код

<Window.Resources>
        <SolidColorBrush x:Key="GridViewBackground" Color="White"/>
         <Style x:Key="..." TargetType="{x:Type ...}">
                 ...
         </Style>
</Window.Resources>

то в панели Resources они должны быть видны вне зависимости от каких-либо привязок.
Внутри стиля, к примеру: 

<Setter Property="BorderBrush" Value="{StaticResource MyBorder}"/>
<Setter Property="Margin" Value="{StaticResource MyMargin}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Foreground" Value="Black"/>

BorderThickness и Foreground в панели Resources видны не будут.

Автор: San4o_Pan4o 13.11.2009, 14:16
ой, а я и не видел панель Resources.. smile  Спасибо, это именно то что я искалsmile

Автор: exBlender 25.11.2009, 16:49
Кстати, в панели Resources все стили видны по умолчанию. Но можно тыцнуть кнопку "Show resources used by selected element", а потом забыть об этом smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)