В UWP у меня есть ListView
, для списка предметов. Список можно изменить, изменив выбор в списке Sizes
(см. Sizes.SelectedItem
в XAML ниже). Для предметов в ListView
у меня есть DataTemplate
для каждого предмета. Свойство Percent
предметов представлено через Slider
, которое связано с Value="{x:Bind Percent, Mode=TwoWay, ...}"
. Для Slider
установлены значения Maximum
и Minimum
, и, как рекомендовано, сначала Maximum
. Но все же, когда я выбираю запись из списка Sizes
, изменяется ListView
itemsSource, вызывается установщик Percent
, и все начальные допустимые значения фальсифицируются и устанавливаются в Minimum
. Теперь мне нужен способ выяснить, был ли сеттер вызван во время фазы установки и может ли быть проигнорирован, или вызов сеттера поступил от реального пользователя, изменив позицию Slider
.
Код XAML:
<ListView x:Name="PropertiesListView"
ItemsSource="{x:Bind Path=((face:Collections) Sizes.SelectedItem).FloatPropertyItems, Mode=OneWay}"
ContainerContentChanging="PropertiesListView_ContainerContentChanging">
<ListView.ItemTemplate>
<DataTemplate x:DataType="localItems:FloatItem">
<StackPanel>
<Grid>
<Slider x:Name="value" Grid.Column="0"
Maximum="{x:Bind Maximum, Mode=OneWay}"
Minimum="{x:Bind Minimum, Mode=OneWay}"
Value="{x:Bind Percent, Mode=TwoWay, FallbackValue=50}"
StepFrequency="0.1" Margin="10,0,10,0"
ValueChanged="value_ValueChanged"/>