我的月份选择器有一个奇怪的问题。它在初始化时有很大的宽度。
我正在使用 MVVM Light Toolkit,这似乎是导致问题的原因。
事实上,对于标准的 WPF 应用程序,相同的代码可以工作......
另一个提示,没有弹出控件,此代码适用于 MVVM Light Toolkit。
这是我的代码:
<Window x:Class="MvvmLight1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
SizeToContent="WidthAndHeight"
Title="MVVM Light Application"
DataContext="{Binding Main, Source={StaticResource Locator}}">
<Grid>
<Popup IsOpen="{Binding ElementName=btn, Path=IsChecked}" StaysOpen="False" >
<Calendar x:Name="_calendar"
Loaded="_calendar_OnLoaded"
DisplayModeChanged="_calendar_DisplayModeChanged"
DisplayMode="Month" />
</Popup>
<ToggleButton Height="50" Width="100" Content="Click me" x:Name="btn" ClickMode="Release"/>
</Grid>
这是后面的代码:
using System.Windows;
using MvvmLight1.ViewModel;
using System.Windows.Controls;
namespace MvvmLight1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void _calendar_DisplayModeChanged(object sender, CalendarModeChangedEventArgs e)
{
_calendar.DisplayMode = CalendarMode.Year;
}
private void _calendar_OnLoaded(object sender, RoutedEventArgs e)
{
_calendar.DisplayMode = CalendarMode.Year;
}
}
}
没什么特别的......我现在正在挣扎一段时间......任何帮助将不胜感激!
提前致谢!