Take advantage of data binding for UDP Server settings controls

Related to issue #1151
This commit is contained in:
Travis Nickles 2020-03-16 09:04:06 -05:00
parent a51d789177
commit 7339afdd61
3 changed files with 15 additions and 6 deletions

View File

@ -281,11 +281,11 @@
</StackPanel> </StackPanel>
<StackPanel Orientation="Horizontal" Height="20" Margin="{StaticResource spaceMargin}"> <StackPanel Orientation="Horizontal" Height="20" Margin="{StaticResource spaceMargin}">
<CheckBox x:Name="useUdpServerCk" Content="UDP Server" IsChecked="{Binding UseUDPServer}" Click="UseUdpServerCk_Click" /> <CheckBox x:Name="useUdpServerCk" Content="UDP Server" IsChecked="{Binding UseUDPServer}" Click="UseUdpServerCk_Click" />
<TextBox x:Name="udpServerTxt" IsEnabled="False" Text="{Binding UdpIpAddress, UpdateSourceTrigger=LostFocus,FallbackValue='127.0.0.1'}" <TextBox x:Name="udpServerTxt" IsEnabled="{Binding UseUDPServer,Mode=OneWay}" Text="{Binding UdpIpAddress, UpdateSourceTrigger=LostFocus,FallbackValue='127.0.0.1'}"
Margin="8,0,0,0" /> Margin="8,0,0,0" />
<Label Content="Port" Padding="0" Margin="20,0,0,0" /> <Label Content="Port" Padding="0" Margin="20,0,0,0" />
<!--<TextBox x:Name="updPortNum" IsEnabled="False" Text="{Binding UdpPort, UpdateSourceTrigger=LostFocus,FallbackValue='26760'}" />--> <!--<TextBox x:Name="updPortNum" IsEnabled="{Binding UseUDPServer}" Text="{Binding UdpPort, UpdateSourceTrigger=LostFocus,FallbackValue='26760'}" />-->
<xctk:IntegerUpDown d:IsHidden="True" x:Name="updPortNum" IsEnabled="False" MinWidth="20" Margin="8,0,0,0" <xctk:IntegerUpDown d:IsHidden="True" x:Name="updPortNum" IsEnabled="{Binding UseUDPServer,Mode=OneWay}" MinWidth="20" Margin="8,0,0,0"
Value="{Binding UdpPort, UpdateSourceTrigger=LostFocus,FallbackValue='26760'}" ButtonSpinnerLocation="Right" Increment="1" Maximum="65535" Minimum="0" /> Value="{Binding UdpPort, UpdateSourceTrigger=LostFocus,FallbackValue='26760'}" ButtonSpinnerLocation="Right" Increment="1" Maximum="65535" Minimum="0" />
</StackPanel> </StackPanel>
<!--<StackPanel Orientation="Horizontal"> <!--<StackPanel Orientation="Horizontal">

View File

@ -1041,8 +1041,6 @@ Suspend support not enabled.", true);
private async void UseUdpServerCk_Click(object sender, RoutedEventArgs e) private async void UseUdpServerCk_Click(object sender, RoutedEventArgs e)
{ {
bool status = useUdpServerCk.IsChecked == true; bool status = useUdpServerCk.IsChecked == true;
udpServerTxt.IsEnabled = status;
updPortNum.IsEnabled = status;
if (!status) if (!status)
{ {
App.rootHub.ChangeMotionEventStatus(status); App.rootHub.ChangeMotionEventStatus(status);

View File

@ -153,7 +153,18 @@ namespace DS4WinWPF.DS4Forms.ViewModels
} }
} }
public event EventHandler CheckEveryUnitChanged; public event EventHandler CheckEveryUnitChanged;
public bool UseUDPServer { get => DS4Windows.Global.isUsingUDPServer(); set => DS4Windows.Global.setUsingUDPServer(value); } public bool UseUDPServer
{
get => DS4Windows.Global.isUsingUDPServer();
set
{
if (DS4Windows.Global.isUsingUDPServer() == value) return;
DS4Windows.Global.setUsingUDPServer(value);
UseUDPServerChanged?.Invoke(this, EventArgs.Empty);
}
}
public event EventHandler UseUDPServerChanged;
public string UdpIpAddress { get => DS4Windows.Global.getUDPServerListenAddress(); public string UdpIpAddress { get => DS4Windows.Global.getUDPServerListenAddress();
set => DS4Windows.Global.setUDPServerListenAddress(value); } set => DS4Windows.Global.setUDPServerListenAddress(value); }
public int UdpPort { get => DS4Windows.Global.getUDPServerPortNum(); set => DS4Windows.Global.setUDPServerPort(value); } public int UdpPort { get => DS4Windows.Global.getUDPServerPortNum(); set => DS4Windows.Global.setUDPServerPort(value); }