wfi:WindowsFormsHost焦点设置

本文介绍了一个使用WPF技术创建的应用界面设计实例,包括各种控件的布局与样式设置,如Label、ComboBox、RadioButton等,并详细展示了如何通过XAML代码实现滚动面板、条件选择、价格设定等功能。

<wfi:WindowsFormsHost>
<ElementHost>
<ScrollViewer Name="scrollViewer" Grid.Row="0" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" PreviewMouseDown="scrollViewer_PreviewMouseDown">
<ScrollViewer.Resources>
<Style TargetType="Label">
<Setter Property="Height" Value="24"></Setter>
<Setter Property="Width" Value="75"></Setter>
<Setter Property="Margin" Value="0 1"></Setter>
<Setter Property="HorizontalContentAlignment" Value="Right"></Setter>
<Setter Property="VerticalContentAlignment" Value="Center"></Setter>
</Style>

<Style TargetType="ComboBox">
<Setter Property="Width" Value="90"></Setter>
<Setter Property="Height" Value="22"></Setter>
<Setter Property="VerticalAlignment" Value="Center"></Setter>
<Setter Property="VerticalContentAlignment" Value="Center"></Setter>
</Style>
</ScrollViewer.Resources>

<StackPanel Grid.Row="0" Margin="20 0" MinWidth="470">

<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ConditionOrderEdit_Explanation}" VerticalAlignment="Top"></Label>
<TextBlock Name="txtExplanation" TextWrapping="Wrap" Padding="0 5 5 0" MaxWidth="390"></TextBlock>
</StackPanel>

<Border BorderBrush="Gray" BorderThickness="0 1 0 0" Margin="0 3"></Border>


<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource Pub_ContractNoColon}"></Label>
<ComboBox Name="cmbContract" Width="120" SelectionChanged="cmbContract_SelectionChanged"></ComboBox>
</StackPanel>

<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ConditionOrderEdit_TriggerCondition}" VerticalAlignment="Top"></Label>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 3" Height="22">
<RadioButton Name="radConditionTypePrice" Content="{DynamicResource ConditionOrderEdit_When}" GroupName="ConditionType" VerticalAlignment="Center" IsChecked="True" Margin="0 0 5 0" Checked="radConditionType_Checked"></RadioButton>
<StackPanel Name="conditionTypePriceSettingPanel" Orientation="Horizontal">
<ComboBox Name="cmbComparePriceType" VerticalAlignment="Center" IsReadOnly="True" IsEditable="True"></ComboBox>
<ComboBox Name="cmbCompareFlag" VerticalAlignment="Center" Width="45" Height="22" Margin="5 0" IsReadOnly="True" IsEditable="True" Padding="8 0 0 0" VerticalContentAlignment="Center" FontSize="16" FontFamily="新宋体"></ComboBox>
<CustomUi:UpDownNumberText x:Name="txtComparePriceValue" MinValue="0" MaxValue="10000000" InputMaxValue="999999999" DecimalPlaces="2" Width="90" Height="22"></CustomUi:UpDownNumberText>
</StackPanel>
<TextBlock Text="{DynamicResource ConditionOrderEdit_Trigger}" Margin="5 0 0 0" VerticalAlignment="Center"></TextBlock>
</StackPanel>

<StackPanel Orientation="Horizontal" Margin="0 3" Height="22">
<RadioButton Name="radConditionTypeTime" Content="{DynamicResource ConditionOrderEdit_TimeArrival}" GroupName="ConditionType" VerticalAlignment="Center" Margin="0 0 5 0" Checked="radConditionType_Checked"></RadioButton>
<wfi:WindowsFormsHost Width="80">
<wf:DateTimePicker x:Name="dtTriggerTime" Format="Time" ShowUpDown="True" Enabled="False"></wf:DateTimePicker>
</wfi:WindowsFormsHost>
<TextBlock Text="{DynamicResource ConditionOrderEdit_Trigger}" Margin="5 0 0 0" VerticalAlignment="Center"></TextBlock>

</StackPanel>

<StackPanel Orientation="Horizontal" Margin="0 3" Height="22">
<RadioButton Name="radConditionTypeOpen" Content="{DynamicResource ConditionOrderEdit_OpenTrigger}" GroupName="ConditionType" VerticalAlignment="Center" Margin="0 0 5 0" Checked="radConditionType_Checked"></RadioButton>
</StackPanel>
</StackPanel>
</StackPanel>

<Border BorderBrush="Gray" BorderThickness="0 1 0 0" Margin="0 4 0 5"></Border>

<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource Pub_BuyOrSellColon}"></Label>
<RadioButton Name="radBuy" GroupName="BuyOrSell" Content="{DynamicResource Pub_BuyIn}" VerticalAlignment="Center" IsChecked="True" Margin="0 0 15 0"></RadioButton>
<RadioButton Name="radSell" GroupName="BuyOrSell" Content="{DynamicResource Pub_SellOut}" VerticalAlignment="Center"></RadioButton>
</StackPanel>

<StackPanel Orientation="Horizontal" Name="panelOffsetFlag">
<Label Content="{DynamicResource Pub_OpenOrCloseColon}"></Label>
<RadioButton Name="radOffsetFlagOpen" GroupName="OffsetFlag" Content="{DynamicResource Type_Open}" VerticalAlignment="Center" IsChecked="True" Margin="0 0 15 0"></RadioButton>
<RadioButton Name="radOffsetFlagCloseToday" GroupName="OffsetFlag" Content="{DynamicResource Type_CloseToday}" VerticalAlignment="Center" Margin="0 0 15 0"></RadioButton>
<RadioButton Name="radOffsetFlagClose" GroupName="OffsetFlag" Content="{DynamicResource Type_Close}" VerticalAlignment="Center"></RadioButton>
</StackPanel>

<StackPanel Orientation="Horizontal" Name="panelIsDeposit">
<Label Content="{DynamicResource ConditionOrderEdit_GuaranteeType}"></Label>
<ComboBox Name="cmbIsDeposit"></ComboBox>
</StackPanel>


<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ConditionOrderEdit_Price}"></Label>
<ComboBox Name="cmbOrderType" SelectionChanged="cmbOrderType_SelectionChanged"></ComboBox>
<CustomUi:UpDownNumberText x:Name="txtOrderPrice" MinValue="0" MaxValue="10000000" InputMaxValue="999999999" DecimalPlaces="2" Width="90" Height="22" Margin="5 0 0 0"></CustomUi:UpDownNumberText>
</StackPanel>


<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ConditionOrderEdit_FloatPrice}"></Label>
<CustomUi:UpDownNumberText x:Name="txtFloatPrice" MinValue="-10000" MaxValue="10000" DecimalPlaces="0" Increment="1" Width="90" Height="22"></CustomUi:UpDownNumberText>
</StackPanel>

<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ConditionOrderEdit_OrderQtt}"></Label>
<CustomUi:UpDownNumberText x:Name="txtOrderQtt" MinValue="0" MaxValue="1000000000" InputMaxValue="999999999" DecimalPlaces="0" Width="90" Height="22"></CustomUi:UpDownNumberText>
</StackPanel>


<StackPanel Orientation="Horizontal">
<Label Content="{DynamicResource ConditionOrderEdit_ValidDate}"></Label>
<ComboBox Name="cmbValidDate" SelectionChanged="cmbValidDate_SelectionChanged"></ComboBox>
<DatePicker Name="dpValidDate" VerticalAlignment="Center" VerticalContentAlignment="Center" Padding="2 1 1 1" Height="22" Width="110" Margin="3 0 0 0"></DatePicker>
</StackPanel>
</StackPanel>

</ScrollViewer>

</ElementHost>
</wfi:WindowsFormsHost>

添加鼠标点击

<ScrollViewer Name="scrollViewer" Grid.Row="0" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" PreviewMouseDown="scrollViewer_PreviewMouseDown">


2设置焦点

private void scrollViewer_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (Mgr.CurrFocusIn != Constant.FocusInTrade)
{
this.Focus();
Mgr.CurrFocusIn = Constant.FocusInTrade;
}
}
WPF的DataGridTextColumn里面的Text如何调整可垂直水平滚动 <Window xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Grp.Client.Wpf.View" xmlns:uc="clr-namespace:Grp.Client.Wpf" xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" x:Class="Grp.Client.Wpf.View.Window" mc:Ignorable="d" d:DataContext="{d:DesignInstance Type={x:Type uc:AMHSMonitorWindowViewModel}}" Title="Communication Log" Height="auto" Width="1550" WindowStartupLocation="CenterScreen" > <DockPanel Background="Black"> <Grid DockPanel.Dock="Top" Height="auto" Width="auto" Margin="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="40"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <StackPanel Grid.Column="0" Grid.Row="0" Orientation ="Horizontal" Margin="0"> <Label Content="Start" VerticalAlignment="Center"></Label> <wfi:WindowsFormsHost Width="180" VerticalAlignment="Center" Foreground="Black" Height="35"> <wf:DateTimePicker x:Name="txbFromTime" Format="Custom" CustomFormat="yyyy/MM/dd HH:mm:ss" ShowUpDown="True" Checked="True" ValueChanged="dtpk_Start_ValueChanged"></wf:DateTimePicker> </wfi:WindowsFormsHost> <Label Content="End" VerticalAlignment="Center"></Label> <wfi:WindowsFormsHost Width="180" VerticalAlignment="Center" Foreground="Black" Height="36"> <wf:DateTimePicker x:Name="txbToTime" Format="Custom" CustomFormat="yyyy/MM/dd HH:mm:ss" ShowUpDown="True" Checked="True" ValueChanged="dtpk_End_ValueChanged"></wf:DateTimePicker> </wfi:WindowsFormsHost> <Label Content="KedWord(Partial Search)" VerticalAlignment="Center"></Label> <TextBox Name="txbKeyWord" Width="150" VerticalAlignment="Center" Foreground="White"></TextBox> <Button Name="btnSearch" Width="100" Content="Search" Click="btnSearch_Click"></Button> <Button Name="btnDownLoad" Width="150" Content="LogFile Location" Margin="50,0" Click="btnDownLoad_Click"/> </StackPanel> <StackPanel Grid.Column="0" Grid.Row="1" Orientation ="Horizontal" Margin="0"> <DataGrid x:Name="dgLogLists" DockPanel.Dock="Left" AutoGenerateColumns = "False" FontSize="12" Width="1600" Margin="0"> <DataGrid.Columns> <DataGridTextColumn IsReadOnly="True" Width="200" Header = "DateTime" Binding = "{Binding Datatime}" /> <DataGridTextColumn IsReadOnly="True" Width="200" Header = "Code" Binding = "{Binding Code}" /> <DataGridTextColumn IsReadOnly="True" Width="900" Header = "Text" Binding = "{Binding Text}" /> </DataGrid.Columns> </DataGrid> </StackPanel> </Grid> </DockPanel> </Window>
最新发布
12-24
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值