Skip to content

Commit eeacf3a

Browse files
committed
add in DateRangePicker (#118
add in DateRangePicker (#118
1 parent d183d48 commit eeacf3a

File tree

14 files changed

+952
-16
lines changed

14 files changed

+952
-16
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<UserControl
2+
x:Class="WPFDevelopers.Samples.ExampleViews.DateRangePickerExample"
3+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5+
xmlns:controls="clr-namespace:WPFDevelopers.Samples.Controls"
6+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
7+
xmlns:local="clr-namespace:WPFDevelopers.Samples.ExampleViews"
8+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
9+
xmlns:wd="https://github.com/WPFDevelopersOrg/WPFDevelopers"
10+
d:DesignHeight="450"
11+
d:DesignWidth="800"
12+
mc:Ignorable="d">
13+
<controls:CodeViewer>
14+
<UniformGrid wd:PanelHelper.Spacing="4" Columns="2">
15+
<wd:DateRangePicker
16+
Width="300"
17+
Height="38"
18+
VerticalAlignment="Top"
19+
EndWatermark="结束日期"
20+
StartWatermark="开始日期" />
21+
<wd:DateRangePicker
22+
Width="300"
23+
Height="38"
24+
VerticalAlignment="Top"
25+
wd:ElementHelper.CornerRadius="3"
26+
EndWatermark="EndDate"
27+
StartWatermark="StartDate" />
28+
<WrapPanel wd:PanelHelper.Spacing="3">
29+
<wd:DateRangePicker
30+
x:Name="MyDateRangePicker"
31+
Width="240"
32+
Height="38"
33+
VerticalAlignment="Top"
34+
EndDate="{Binding EndDate, RelativeSource={RelativeSource AncestorType=local:DateRangePickerExample}}"
35+
EndWatermark="结束日期"
36+
StartDate="{Binding StartDate, RelativeSource={RelativeSource AncestorType=local:DateRangePickerExample}}"
37+
StartWatermark="开始日期" />
38+
<Button
39+
Width="60"
40+
HorizontalAlignment="Center"
41+
Click="Button_Click"
42+
Content="获取"
43+
Style="{StaticResource WD.PrimaryButton}" />
44+
</WrapPanel>
45+
</UniformGrid>
46+
<controls:CodeViewer.SourceCodes>
47+
<controls:SourceCodeModel CodeSource="/WPFDevelopers.SamplesCode;component/ExampleViews/DateRangePickerExample.xaml" CodeType="Xaml" />
48+
<controls:SourceCodeModel CodeSource="/WPFDevelopers.SamplesCode;component/ExampleViews/DateRangePickerExample.xaml.cs" CodeType="CSharp" />
49+
</controls:CodeViewer.SourceCodes>
50+
</controls:CodeViewer>
51+
</UserControl>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using System.Windows;
2+
using System;
3+
using System.Windows.Controls;
4+
5+
namespace WPFDevelopers.Samples.ExampleViews
6+
{
7+
/// <summary>
8+
/// DateRangePickerExample.xaml 的交互逻辑
9+
/// </summary>
10+
public partial class DateRangePickerExample : UserControl
11+
{
12+
public DateTime? StartDate
13+
{
14+
get { return (DateTime)GetValue(StartDateProperty); }
15+
set { SetValue(StartDateProperty, value); }
16+
}
17+
18+
public static readonly DependencyProperty StartDateProperty =
19+
DependencyProperty.Register("StartDate", typeof(DateTime?), typeof(DateRangePickerExample), new PropertyMetadata(null));
20+
public DateTime? EndDate
21+
{
22+
get { return (DateTime)GetValue(EndDateProperty); }
23+
set { SetValue(EndDateProperty, value); }
24+
}
25+
26+
public static readonly DependencyProperty EndDateProperty =
27+
DependencyProperty.Register("EndDate", typeof(DateTime?), typeof(DateRangePickerExample), new PropertyMetadata(null));
28+
public DateRangePickerExample()
29+
{
30+
InitializeComponent();
31+
StartDate = DateTime.Now.AddDays(1);
32+
EndDate = StartDate.Value.AddDays(10);
33+
}
34+
private void Button_Click(object sender, RoutedEventArgs e)
35+
{
36+
WPFDevelopers.Controls.MessageBox.Show($"开始时间:{MyDateRangePicker.StartDate} \r结束时间:{MyDateRangePicker.EndDate}", "获取日期");
37+
}
38+
}
39+
}

src/WPFDevelopers.Samples.Shared/Helpers/MenuEnum.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ public enum MenuEnum
8686
ChartPie,
8787
Spacing,
8888
Drawer,
89+
DateRangePicker,
8990
VirtualizingWrapPanel,
9091
AcrylicBlur,
9192
TaskbarInfo

src/WPFDevelopers.Samples.Shared/ViewModels/MainVM.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,9 @@ void MenuItemSelection(string _menuName)
361361
case MenuEnum.Drawer:
362362
ControlPanel = new DrawerExample();
363363
break;
364+
case MenuEnum.DateRangePicker:
365+
ControlPanel = new DateRangePickerExample();
366+
break;
364367
case MenuEnum.VirtualizingWrapPanel:
365368
ControlPanel = new VirtualizingWrapPanel();
366369
new VirtualizingWrapPanelExample().MaskShowDialog();

src/WPFDevelopers.Samples.Shared/WPFDevelopers.Samples.Shared.projitems

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@
154154
<SubType>Code</SubType>
155155
<DependentUpon>DashboardExample.xaml</DependentUpon>
156156
</Compile>
157+
<Compile Include="$(MSBuildThisFileDirectory)ExampleViews\DateRangePickerExample.xaml.cs">
158+
<DependentUpon>DateRangePickerExample.xaml</DependentUpon>
159+
</Compile>
157160
<Compile Include="$(MSBuildThisFileDirectory)ExampleViews\Desktop\DesktopBackground.xaml.cs">
158161
<SubType>Code</SubType>
159162
<DependentUpon>DesktopBackground.xaml</DependentUpon>
@@ -649,6 +652,10 @@
649652
<Generator>MSBuild:Compile</Generator>
650653
<SubType>Designer</SubType>
651654
</Page>
655+
<Page Include="$(MSBuildThisFileDirectory)ExampleViews\DateRangePickerExample.xaml">
656+
<Generator>MSBuild:Compile</Generator>
657+
<SubType>Designer</SubType>
658+
</Page>
652659
<Page Include="$(MSBuildThisFileDirectory)ExampleViews\Desktop\DesktopBackground.xaml">
653660
<Generator>MSBuild:Compile</Generator>
654661
<SubType>Designer</SubType>

src/WPFDevelopers.SamplesCode/WPFDevelopers.SamplesCode.csproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net40;net45;net46;net47;net48;net5.0-windows;net6.0-windows;netcoreapp3.0</TargetFrameworks>
3+
<TargetFrameworks>net40;net45;net46;net47;net48;net5.0-windows;net6.0-windows;netcoreapp3.0</TargetFrameworks>
44
<UseWPF>true</UseWPF>
55
<AssemblyName>WPFDevelopers.SamplesCode</AssemblyName>
66
<RootNamespace>WPFDevelopers.SamplesCode</RootNamespace>
@@ -147,6 +147,7 @@
147147
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\ChartPieExample.xaml.cs" Link="ExampleViews\ChartPieExample.xaml.cs" DependentUpon="ChartPieExample.xaml" />
148148
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\DrawerExample.xaml.cs" Link="ExampleViews\DrawerExample.xaml.cs" DependentUpon="DrawerExample.xaml" />
149149
<Resource Include="..\WPFDevelopers.Samples.Shared\Controls\\Loadings\StreamerLoading.cs" Link="Controls\Loadings\StreamerLoading.cs"/>
150+
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\DateRangePickerExample.xaml.cs" Link="ExampleViews\DateRangePickerExample.xaml.cs" DependentUpon="DateRangePickerExample.xaml" />
150151
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\SpacingExample.xaml.cs" Link="ExampleViews\SpacingExample.xaml.cs" DependentUpon="SpacingExample.xaml" />
151152
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\NotifyIconExample.xaml.cs" Link="ExampleViews\NotifyIconExample.xaml.cs" DependentUpon="NotifyIconExample.xaml" />
152153
</ItemGroup>
@@ -502,6 +503,9 @@
502503
<Resource Include="..\WPFDevelopers.Samples.Shared\Controls\Loadings\StreamerLoading.xaml">
503504
<Link>Controls\Loadings\StreamerLoading.xaml</Link>
504505
</Resource>
506+
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\DateRangePickerExample.xaml">
507+
<Link>ExampleViews\DateRangePickerExample.xaml</Link>
508+
</Resource>
505509
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\SpacingExample.xaml">
506510
<Link>ExampleViews\SpacingExample.xaml</Link>
507511
</Resource>

0 commit comments

Comments
 (0)