Как я могу выйти из одинарной кавычки в литерале свойства расширения разметки XAML?

Да, тот код является абсолютно избыточным и ненужным, и он не заставляет сборщик "мусора" сделать что-либо, что он иначе не сделал бы (после того как экземпляр MyCollection выходит из объема, который является.) Особенно .Clear() вызовы.

Ответ на Ваше редактирование: Вид. Если я делаю это:

public void WasteMemory()
{
    var instance = new MyCollection(); // this one has no Dispose() method
    instance.FillItWithAMillionStrings();
}

// 1 million strings are in memory, but marked for reclamation by the GC

Это функционально идентично этому в целях управления памятью:

public void WasteMemory()
{
    var instance = new MyCollection(); // this one has your Dispose()
    instance.FillItWithAMillionStrings();
    instance.Dispose();
}

// 1 million strings are in memory, but marked for reclamation by the GC

, Если действительно действительно действительно необходимо освободить память это очень мгновенное, звоните GC.Collect(). Нет никакой причины сделать это здесь, все же. Память будет освобождена, когда она будет необходима.

12
задан Drew Noakes 25 August 2009 в 20:41
поделиться

3 ответа

Не проверено, но есть ли у вас попробовал:

<TextBlock Text="{Binding Path=PercentageComplete,
                      Converter={StaticResource NumberFormatter},
                      ConverterParameter=&quot;0.00 '%&quot;}" />
11
ответ дан 2 December 2019 в 06:09
поделиться

Вы можете использовать String.Format вместо Double.ToString

public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture ) {
    string format = (string) parameter;

    return String.Format( format, value );
}

А в выражении привязки используйте специальную escape-последовательность {}:

<TextBlock Text="{Binding PercentageComplete, Converter={StaticResource NumberFormatter}, ConverterParameter='{}{0:0.00} %'}"></TextBlock>
3
ответ дан 2 December 2019 в 06:09
поделиться

Вот обходной путь, позволяющий избежать расширения разметки, хотя это не прямой ответ на вопрос.

<TextBlock>
  <TextBlock.Text>
    <Binding Path="PercentageComplete"
             Converter="{StaticResource NumberFormatter}"
             ConverterParameter="0.00 '%" />
  </TextBlock.Text>
</TextBlock>
2
ответ дан 2 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

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