WPF ListView Button - Связать несколько изображений - PullRequest
0 голосов
/ 15 июня 2010

У меня есть просмотр списка в приложении WPF с кнопкой в ​​одном из столбцов.Я связываю изображение с кнопкой управления.Я хочу настроить различные изображения для этой кнопки на основе Как мне написать XAML в этом сценарии ???

Вот что у меня уже есть:

<ControlTemplate x:Key="IconButtonAddProfile" TargetType="{x:Type Button}">
  <Grid>
    <Image x:Name="myimage" Source="rofile.png" Height="27" Width="65" />
    <Border>
      <ContentPresenter Content="{TemplateBinding Content}"/>
    </Border>
  </Grid>
</ControlTemplate>

<ListView.View>
  <GridView>
    <GridViewColumn Header="Security" Width="50">
      <GridViewColumn.CellTemplate>
        <DataTemplate>
          <Button Template="{StaticResource IconButtonLockSecure}"
                  DataContext="{Binding}" MinHeight="20" MinWidth="50" />
        </DataTemplate>
      </GridViewColumn.CellTemplate>
    </GridViewColumn>
</ListView.View>

Ответы [ 2 ]

0 голосов
/ 17 июня 2010

Я добавил свойство ButtonImage, которое возвращает жестко закодированный путь к изображению. открытая строка ButtonImage { получить { return @ "Images / glowLine.png"; } } Я настроил столбец ListView следующим образом.

                <GridViewColumn Header="Add Profile">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Button  Template="{Binding IconButtonAddProfile}" Click="Button_Click" DataContext="{Binding}" MinHeight="20" MinWidth="50" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

Но изображение не отображается в списке

0 голосов
/ 16 июня 2010

Предположим, что ваша модель имеет свойство «ButtonImage», которое возвращает ImageSource изображения для объекта, и свойство «ButtonContent», которое возвращает содержимое кнопки (текст или что-то еще).

Тогда ваш ControlTemplate может быть:

<ControlTemplate x:Key="IconButtonAddProfile" TargetType="{x:Type Button}"> 
  <Grid> 
    <Image x:Name="myimage" Source="{Binding ButtonImage}" /> 
    <Border> 
      <ContentPresenter Content="{Binding ButtonContent}"/> 
    </Border> 
  </Grid> 
</ControlTemplate> 

Обратите внимание, что вам также не нужно устанавливать DataContext для вашей кнопки, поскольку он наследуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...