Reputation: 1165
I need using ConnectivityTriggers
.
In view I wrote this code:
xmlns:connectivityTriggers="using:AdaptiveTriggerLibrary.Triggers.ConnectivityTriggers"
<VisualStateGroup x:Name="Connectivity">
<VisualState x:Name="disconnect">
<VisualState.StateTriggers>
<connectivityTriggers:NetworkConnectionStateTrigger
Condition="ConstrainedInternetAccess"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter
Target="EditProfileButton.IsEnabled"
Value="False" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
And this code not work.
What I need write to ConditionModifier
?
Upvotes: 0
Views: 56
Reputation: 32785
For detecting the network state changes, you can create VisualStateGroup
by using AdaptiveTriggerLibrary
like following code. But it does not work fine when you manually disconnect the network.
<VisualStateGroup>
<VisualState x:Name="conect">
<VisualState.StateTriggers>
<networkState:NetworkConnectionStateTrigger Condition="InternetAccess" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="SupportedTextBlock.Text" Value="Fine" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="disconnect">
<VisualState.StateTriggers>
<networkState:NetworkConnectionStateTrigger Condition="ConstrainedInternetAccess" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="SupportedTextBlock.Text" Value="not Fine" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
I suggest you use WindowsStateTriggers
to detect network state. You can create two VisualStates and set different triggers like following code.
xmlns:triggers="using:WindowsStateTriggers"
...
<VisualStateGroup x:Name="Connectivity">
<VisualState x:Name="connect">
<VisualState.StateTriggers>
<networkstate:NetworkConnectionStateTrigger ConnectionState="Connected"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="state.Text" Value="connected"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="disconnect">
<VisualState.StateTriggers>
<networkstate:NetworkConnectionStateTrigger ConnectionState="Disconnected"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="state.Text" Value="disconnected"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
Upvotes: 1