Dynami c привязка в c#, где мы не можем использовать привязку скомпилированных данных (x: bind) - PullRequest
0 голосов
/ 07 мая 2020

Я работаю над созданием приложения UWP с c#, где я узнал о привязке скомпилированных данных (x: bind). Он имеет много преимуществ, таких как производительность, ошибки времени компиляции на странице xaml, события привязки и т. Д. c. Когда я go просматривал одно из руководств по привязке скомпилированных данных, он четко заявляет, что мы не можем использовать x: bind в сценарии ios, где мы связываем объекты динамически. Я ищу пример, специально для привязки времени выполнения, которую нельзя решить с помощью x: bind. Мы будем очень благодарны за небольшой фрагмент кода с привязкой объекта Dynami c. Заранее спасибо

1 Ответ

0 голосов
/ 08 мая 2020

Я обычно использую Binding, когда не уверен, существует ли определенное свойство c. Пример:

<DataTemplate x:DataType="Message">
    <StackPanel>
        <TextBlock Text="{x:Bind Title}" />
        // if binding fails, the value is set to 0
        <ProgressBar Value="{Binding Progress, FallbackValue=0}"
                     Maximum="1"
                     Background="Transparent" />
    </StackPanel>
</DataTemplate>
public class Message
{
    public string Title { get; set; }
}

public class MessageWithProgress : Message
{
    public double Progress { get; set; }
}

Тем не менее, вы можете избежать использования привязки в этом примере, используя DataTemplateSelector .

...