Загрузка изображения кнопки только в первый раз [дубликат]

Если мы рассмотрим общие сценарии, в которых может быть выбрано это исключение, доступ к свойствам с объектом вверху.

Пример:

string postalcode=Customer.Address.PostalCode; 
//if customer or address is null , this will through exeption

здесь, если адрес имеет значение null, то вы получите NullReferenceException.

Итак, в качестве практики мы всегда должны использовать проверку нуля, прежде чем обращаться к свойствам в таких объектах (особенно в общих)

string postalcode=Customer?.Address?.PostalCode;
//if customer or address is null , this will return null, without through a exception
6
задан H.B. 2 September 2011 в 19:02
поделиться

2 ответа

Стиль создает один экземпляр Image, вы не можете использовать его в двух местах, подобных этому. Вы можете создать изображение в качестве отдельного ресурса с помощью x:Shared = false и указать его в стиле, а затем создать новый стиль в каждом месте, в котором используется стиль.


, например

<UserControl>
    <UserControl.Resources>
        <Image x:Key="img" x:Shared="false" Source="D:\Temp\dictionary16.png" />
        <Style x:Key="TestStyle" TargetType="{x:Type Button}">
            <Setter Property="Content" Value="{StaticResource img}" />
        </Style>
    </UserControl.Resources>
    <StackPanel VerticalAlignment="Top" HorizontalAlignment="Left">
        <Button Style="{StaticResource TestStyle}" />
        <Button Style="{StaticResource TestStyle}" />
    </StackPanel>
</UserControl>
18
ответ дан chw 27 August 2018 в 15:42
поделиться

Уже вчера я нашел пользователя с аналогичной проблемой: WPF - Измените содержимое кнопки в стиле?

Это сообщение привлекло меня к этому soloution (не удалось опубликовать это из-за 8-часового предела stackoverflow -.-)

<Setter Property="ContentTemplate">
    <Setter.Value>
        <DataTemplate>
            <Image Source="{mcWPF:LangRes imgSettings16, Bitmap}" Height="14"/>
        </DataTemplate>
    </Setter.Value>
</Setter>

Не знаю, погода это более чистая / грязная / лучше, чем растворение HB

11
ответ дан Community 27 August 2018 в 15:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: