Добавить Multibinding конвертер, а также контент для кнопки wpf - PullRequest
0 голосов
/ 12 февраля 2020

В моем проекте wpf у меня есть:

<DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
        <Button Background="Transparent" Foreground="#E43D47" materialDesign:RippleAssist.IsDisabled="True" BorderBrush="Transparent">
            <Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
                <Setter Property="Foreground">
                    <Setter.Value>
                        <MultiBinding>
                            <MultiBinding.Converter>
                                <local:ProxyStatusForeground/>
                            </MultiBinding.Converter>
                            <Binding RelativeSource="{RelativeSource Self}" Path="Column.Header"/>
                            <Binding/>
                            <Binding Path="HasChanges"/>
                        </MultiBinding>
                    </Setter.Value>
                </Setter>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <TextBlock Text="⚫"/>
                        </ControlTemplate>

                    </Setter.Value>
                </Setter>
            </Style>
        </Button>
    </DataTemplate>
</DataGridTemplateColumn.CellTemplate>

Я хочу привязать эту кнопку к своему multibinding.converter, а также иметь ⚫ в качестве текста, чтобы я мог изменить его передний план. Если я сделаю это (я делаю это в заголовке Datagrid), всякий раз, когда я добавляю строку, она будет отображаться с System.Windows.Styles вместо ⚫. Как я смогу сделать это? Любая помощь будет оценена!

1 Ответ

1 голос
/ 13 февраля 2020

Вы добавили Style в качестве значения для Button.Content (что будет неявно вызывать object.ToString() в экземпляре Style, который вернет полное имя типа):

<Button>
  <!-- this is setting the Content property -->
  Some Text
</Button>

, что равно

<Button Content="Some Text" />

Style должно быть значением свойства Button.Style:

<Button>
  <Button.Style>
    <Style TargetType="Button">
      ...
    </Style>
  </Button.Style>
</Button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...