Good improvements on the calendar.
This commit is contained in:
@@ -26,6 +26,9 @@ public partial class CalendarSettingsPageViewModel : CalendarBaseViewModel
|
||||
[ObservableProperty]
|
||||
public partial bool Is24HourHeaders { get; set; }
|
||||
|
||||
[ObservableProperty]
|
||||
public partial bool IsWorkingHoursEnabled { get; set; }
|
||||
|
||||
[ObservableProperty]
|
||||
public partial TimeSpan WorkingHourStart { get; set; }
|
||||
|
||||
@@ -103,6 +106,7 @@ public partial class CalendarSettingsPageViewModel : CalendarBaseViewModel
|
||||
var cultureFirstDayName = cultureInfo.DateTimeFormat.GetDayName(preferencesService.FirstDayOfWeek);
|
||||
SelectedFirstDayOfWeekIndex = DayNames.IndexOf(cultureFirstDayName);
|
||||
Is24HourHeaders = preferencesService.Prefer24HourTimeFormat;
|
||||
IsWorkingHoursEnabled = preferencesService.IsWorkingHoursEnabled;
|
||||
WorkingHourStart = preferencesService.WorkingHourStart;
|
||||
WorkingHourEnd = preferencesService.WorkingHourEnd;
|
||||
CellHourHeight = preferencesService.HourHeight;
|
||||
@@ -193,6 +197,7 @@ public partial class CalendarSettingsPageViewModel : CalendarBaseViewModel
|
||||
SaveSettings();
|
||||
}
|
||||
partial void OnSelectedFirstDayOfWeekIndexChanged(int value) => SaveSettings();
|
||||
partial void OnIsWorkingHoursEnabledChanged(bool value) => SaveSettings();
|
||||
partial void OnWorkingHourStartChanged(TimeSpan value) => SaveSettings();
|
||||
partial void OnWorkingHourEndChanged(TimeSpan value) => SaveSettings();
|
||||
partial void OnWorkingDayStartIndexChanged(int value) => SaveSettings();
|
||||
@@ -327,6 +332,7 @@ public partial class CalendarSettingsPageViewModel : CalendarBaseViewModel
|
||||
};
|
||||
|
||||
PreferencesService.Prefer24HourTimeFormat = Is24HourHeaders;
|
||||
PreferencesService.IsWorkingHoursEnabled = IsWorkingHoursEnabled;
|
||||
PreferencesService.WorkingHourStart = WorkingHourStart;
|
||||
PreferencesService.WorkingHourEnd = WorkingHourEnd;
|
||||
PreferencesService.HourHeight = CellHourHeight;
|
||||
|
||||
@@ -231,6 +231,7 @@ public interface IPreferencesService : INotifyPropertyChanged
|
||||
#region Calendar
|
||||
|
||||
DayOfWeek FirstDayOfWeek { get; set; }
|
||||
bool IsWorkingHoursEnabled { get; set; }
|
||||
TimeSpan WorkingHourStart { get; set; }
|
||||
TimeSpan WorkingHourEnd { get; set; }
|
||||
DayOfWeek WorkingDayStart { get; set; }
|
||||
|
||||
@@ -7,6 +7,7 @@ namespace Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
public record CalendarSettings(DayOfWeek FirstDayOfWeek,
|
||||
List<DayOfWeek> WorkingDays,
|
||||
bool IsWorkingHoursEnabled,
|
||||
DayOfWeek WorkWeekStart,
|
||||
DayOfWeek WorkWeekEnd,
|
||||
TimeSpan WorkingHourStart,
|
||||
|
||||
@@ -164,10 +164,11 @@ public class CalendarPageViewModelTests
|
||||
return new CalendarSettings(
|
||||
firstDayOfWeek,
|
||||
[DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday],
|
||||
true,
|
||||
workWeekStart,
|
||||
workWeekEnd,
|
||||
TimeSpan.FromHours(8),
|
||||
TimeSpan.FromHours(17),
|
||||
TimeSpan.FromHours(9),
|
||||
TimeSpan.FromHours(18),
|
||||
64,
|
||||
DayHeaderDisplayType.TwentyFourHour,
|
||||
CultureInfo.GetCultureInfo(cultureName));
|
||||
|
||||
@@ -171,10 +171,11 @@ public class CalendarRangeResolverTests
|
||||
return new CalendarSettings(
|
||||
firstDayOfWeek,
|
||||
[DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday],
|
||||
true,
|
||||
workWeekStart,
|
||||
workWeekEnd,
|
||||
TimeSpan.FromHours(8),
|
||||
TimeSpan.FromHours(17),
|
||||
TimeSpan.FromHours(9),
|
||||
TimeSpan.FromHours(18),
|
||||
64,
|
||||
DayHeaderDisplayType.TwentyFourHour,
|
||||
CultureInfo.GetCultureInfo(cultureName));
|
||||
|
||||
@@ -402,6 +402,7 @@ public sealed partial class CalendarPeriodControl : UserControl, INotifyProperty
|
||||
var scaleX = (float)(e.Info.Width / timedSurfaceWidth);
|
||||
var scaleY = (float)(e.Info.Height / timelineHeight);
|
||||
var dayWidth = (float)(_timedLayout.DayWidth * scaleX);
|
||||
var isWorkingHoursEnabled = CalendarSettings?.IsWorkingHoursEnabled == true;
|
||||
var workDayStartHour = CalendarSettings?.WorkingHourStart.TotalHours ?? 9d;
|
||||
var workDayEndHour = CalendarSettings?.WorkingHourEnd.TotalHours ?? 17d;
|
||||
var intervalHeight = (float)(GetTimedGridIntervalHeight() * scaleY);
|
||||
@@ -410,7 +411,8 @@ public sealed partial class CalendarPeriodControl : UserControl, INotifyProperty
|
||||
for (var dayIndex = 0; dayIndex < _timedLayout.VisibleDates.Count; dayIndex++)
|
||||
{
|
||||
var x = dayIndex * dayWidth;
|
||||
var isWorkingDay = CalendarSettings?.WorkingDays.Contains(_timedLayout.VisibleDates[dayIndex].DayOfWeek) == true;
|
||||
var isWorkingDay = isWorkingHoursEnabled &&
|
||||
CalendarSettings?.WorkingDays.Contains(_timedLayout.VisibleDates[dayIndex].DayOfWeek) == true;
|
||||
|
||||
for (var intervalIndex = 0; intervalIndex < intervalCount; intervalIndex++)
|
||||
{
|
||||
|
||||
@@ -311,6 +311,12 @@ public class PreferencesService(IConfigurationService configurationService) : Ob
|
||||
set => SaveProperty(propertyName: nameof(HourHeight), value);
|
||||
}
|
||||
|
||||
public bool IsWorkingHoursEnabled
|
||||
{
|
||||
get => _configurationService.Get(nameof(IsWorkingHoursEnabled), true);
|
||||
set => SaveProperty(propertyName: nameof(IsWorkingHoursEnabled), value);
|
||||
}
|
||||
|
||||
public string CalendarTimedDayHeaderDateFormat
|
||||
{
|
||||
get => _configurationService.Get(nameof(CalendarTimedDayHeaderDateFormat), "ddd dd");
|
||||
@@ -319,13 +325,13 @@ public class PreferencesService(IConfigurationService configurationService) : Ob
|
||||
|
||||
public TimeSpan WorkingHourStart
|
||||
{
|
||||
get => _configurationService.Get(nameof(WorkingHourStart), new TimeSpan(8, 0, 0));
|
||||
get => _configurationService.Get(nameof(WorkingHourStart), new TimeSpan(9, 0, 0));
|
||||
set => SaveProperty(propertyName: nameof(WorkingHourStart), value);
|
||||
}
|
||||
|
||||
public TimeSpan WorkingHourEnd
|
||||
{
|
||||
get => _configurationService.Get(nameof(WorkingHourEnd), new TimeSpan(17, 0, 0));
|
||||
get => _configurationService.Get(nameof(WorkingHourEnd), new TimeSpan(18, 0, 0));
|
||||
set => SaveProperty(propertyName: nameof(WorkingHourEnd), value);
|
||||
}
|
||||
|
||||
@@ -402,6 +408,7 @@ public class PreferencesService(IConfigurationService configurationService) : Ob
|
||||
|
||||
return new CalendarSettings(FirstDayOfWeek,
|
||||
workingDays,
|
||||
IsWorkingHoursEnabled,
|
||||
WorkingDayStart,
|
||||
WorkingDayEnd,
|
||||
WorkingHourStart,
|
||||
|
||||
@@ -38,55 +38,71 @@
|
||||
HorizontalContentAlignment="Stretch"
|
||||
VerticalContentAlignment="Stretch"
|
||||
ContentAlignment="Vertical">
|
||||
<Grid RowSpacing="12">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<controls:SettingsCard.Content>
|
||||
<StackPanel Spacing="16">
|
||||
<StackPanel Spacing="6">
|
||||
<TextBlock FontWeight="SemiBold" Text="Highlight working hours" />
|
||||
<ToggleSwitch
|
||||
IsOn="{x:Bind ViewModel.IsWorkingHoursEnabled, Mode=TwoWay}"
|
||||
OffContent="Off"
|
||||
OnContent="On" />
|
||||
</StackPanel>
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="50" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="From" />
|
||||
<ComboBox
|
||||
Grid.Column="1"
|
||||
ItemsSource="{x:Bind ViewModel.DayNames, Mode=OneWay}"
|
||||
SelectedIndex="{x:Bind ViewModel.WorkingDayStartIndex, Mode=TwoWay}" />
|
||||
<TimePicker
|
||||
x:Name="WorkHourStartPicker"
|
||||
Grid.Column="2"
|
||||
Margin="12,0"
|
||||
Time="{x:Bind ViewModel.WorkingHourStart, Mode=TwoWay}" />
|
||||
</Grid>
|
||||
<Grid RowSpacing="12">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="50" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="To" />
|
||||
<ComboBox
|
||||
Grid.Column="1"
|
||||
ItemsSource="{x:Bind ViewModel.DayNames, Mode=OneWay}"
|
||||
SelectedIndex="{x:Bind ViewModel.WorkingDayEndIndex, Mode=TwoWay}" />
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="50" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="From" />
|
||||
<ComboBox
|
||||
Grid.Column="1"
|
||||
IsEnabled="{x:Bind ViewModel.IsWorkingHoursEnabled, Mode=OneWay}"
|
||||
ItemsSource="{x:Bind ViewModel.DayNames, Mode=OneWay}"
|
||||
SelectedIndex="{x:Bind ViewModel.WorkingDayStartIndex, Mode=TwoWay}" />
|
||||
<TimePicker
|
||||
x:Name="WorkHourStartPicker"
|
||||
Grid.Column="2"
|
||||
Margin="12,0"
|
||||
IsEnabled="{x:Bind ViewModel.IsWorkingHoursEnabled, Mode=OneWay}"
|
||||
Time="{x:Bind ViewModel.WorkingHourStart, Mode=TwoWay}" />
|
||||
</Grid>
|
||||
|
||||
<TimePicker
|
||||
x:Name="WorkEndStartPicker"
|
||||
Grid.Column="2"
|
||||
Margin="12,0"
|
||||
Time="{x:Bind ViewModel.WorkingHourEnd, Mode=TwoWay}" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="50" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="To" />
|
||||
<ComboBox
|
||||
Grid.Column="1"
|
||||
IsEnabled="{x:Bind ViewModel.IsWorkingHoursEnabled, Mode=OneWay}"
|
||||
ItemsSource="{x:Bind ViewModel.DayNames, Mode=OneWay}"
|
||||
SelectedIndex="{x:Bind ViewModel.WorkingDayEndIndex, Mode=TwoWay}" />
|
||||
|
||||
<TimePicker
|
||||
x:Name="WorkEndStartPicker"
|
||||
Grid.Column="2"
|
||||
Margin="12,0"
|
||||
IsEnabled="{x:Bind ViewModel.IsWorkingHoursEnabled, Mode=OneWay}"
|
||||
Time="{x:Bind ViewModel.WorkingHourEnd, Mode=TwoWay}" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</controls:SettingsCard.Content>
|
||||
</controls:SettingsCard>
|
||||
</controls:SettingsExpander.Items>
|
||||
</controls:SettingsExpander>
|
||||
@@ -177,6 +193,7 @@
|
||||
</controls:SettingsCard.HeaderIcon>
|
||||
<StackPanel Spacing="8">
|
||||
<ToggleSwitch
|
||||
HorizontalAlignment="Right"
|
||||
IsOn="{x:Bind ViewModel.Is24HourHeaders, Mode=TwoWay}"
|
||||
OffContent="12h"
|
||||
OnContent="24h" />
|
||||
@@ -187,19 +204,13 @@
|
||||
</StackPanel>
|
||||
</controls:SettingsCard>
|
||||
|
||||
<controls:SettingsCard
|
||||
Description="{x:Bind domain:Translator.CalendarSettings_TimedDayHeaderFormat_Description}"
|
||||
Header="{x:Bind domain:Translator.CalendarSettings_TimedDayHeaderFormat_Header}">
|
||||
<controls:SettingsCard Description="{x:Bind domain:Translator.CalendarSettings_TimedDayHeaderFormat_Description}" Header="{x:Bind domain:Translator.CalendarSettings_TimedDayHeaderFormat_Header}">
|
||||
<controls:SettingsCard.HeaderIcon>
|
||||
<FontIcon Glyph="" />
|
||||
</controls:SettingsCard.HeaderIcon>
|
||||
<StackPanel Spacing="8">
|
||||
<TextBox
|
||||
PlaceholderText="ddd dd"
|
||||
Text="{x:Bind ViewModel.TimedDayHeaderDateFormat, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<ComboBox
|
||||
ItemsSource="{x:Bind ViewModel.TimedDayHeaderFormatPresets, Mode=OneWay}"
|
||||
SelectedIndex="{x:Bind ViewModel.SelectedTimedDayHeaderFormatPresetIndex, Mode=TwoWay}" />
|
||||
<TextBox PlaceholderText="ddd dd" Text="{x:Bind ViewModel.TimedDayHeaderDateFormat, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<ComboBox ItemsSource="{x:Bind ViewModel.TimedDayHeaderFormatPresets, Mode=OneWay}" SelectedIndex="{x:Bind ViewModel.SelectedTimedDayHeaderFormatPresetIndex, Mode=TwoWay}" />
|
||||
<TextBlock
|
||||
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
||||
Text="{x:Bind ViewModel.TimedDayHeaderFormatPreview, Mode=OneWay}"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:abstract="using:Wino.Views.Abstract"
|
||||
xmlns:controls="using:CommunityToolkit.WinUI.Controls"
|
||||
xmlns:controls1="using:Wino.Controls"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:domain="using:Wino.Core.Domain"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -23,7 +24,10 @@
|
||||
<PathIcon Data="F1 M 17.5 9.375 C 17.832031 9.375 18.149414 9.440104 18.452148 9.570312 C 18.754883 9.700521 19.020182 9.876303 19.248047 10.097656 C 19.47591 10.319011 19.658203 10.579428 19.794922 10.878906 C 19.931641 11.178386 20 11.494141 20 11.826172 L 20 15.048828 C 20 15.37435 19.933268 15.685222 19.799805 15.981445 C 19.66634 16.27767 19.487305 16.538086 19.262695 16.762695 C 19.038086 16.987305 18.777668 17.166342 18.481445 17.299805 C 18.185221 17.433268 17.874348 17.5 17.548828 17.5 L 2.451172 17.5 C 2.125651 17.5 1.814779 17.433268 1.518555 17.299805 C 1.222331 17.166342 0.961914 16.987305 0.737305 16.762695 C 0.512695 16.538086 0.333659 16.27767 0.200195 15.981445 C 0.066732 15.685222 0 15.37435 0 15.048828 L 0 4.951172 C 0 4.625651 0.066732 4.314779 0.200195 4.018555 C 0.333659 3.722332 0.512695 3.461914 0.737305 3.237305 C 0.961914 3.012695 1.222331 2.83366 1.518555 2.700195 C 1.814779 2.566732 2.125651 2.5 2.451172 2.5 L 12.548828 2.5 C 12.887369 2.5 13.203125 2.565105 13.496094 2.695312 C 13.789062 2.825521 14.044596 3.00293 14.262695 3.227539 C 14.480793 3.452148 14.654947 3.712566 14.785156 4.008789 C 14.915364 4.305014 14.986979 4.619141 15 4.951172 C 15.00651 5.022787 15.009766 5.094402 15.009766 5.166016 C 15.009766 5.237631 15.009766 5.309245 15.009766 5.380859 C 15.009766 5.5306 15.008138 5.677084 15.004883 5.820312 C 15.001627 5.963542 14.999999 6.106771 15 6.25 C 15.33203 6.25 15.649413 6.315104 15.952148 6.445312 C 16.254883 6.575521 16.520182 6.751303 16.748047 6.972656 C 16.97591 7.194011 17.156574 7.4528 17.290039 7.749023 C 17.423502 8.045248 17.493488 8.362631 17.5 8.701172 Z M 1.25 15 C 1.25 15.175781 1.282552 15.34017 1.347656 15.493164 C 1.41276 15.646159 1.500651 15.777995 1.611328 15.888672 C 1.722005 15.99935 1.853841 16.08724 2.006836 16.152344 C 2.159831 16.217449 2.324219 16.25 2.5 16.25 L 6.582031 16.25 C 6.360677 15.859375 6.25 15.442709 6.25 15 L 6.25 8.701172 C 6.25 8.362631 6.318359 8.045248 6.455078 7.749023 C 6.591797 7.4528 6.774088 7.194011 7.001953 6.972656 C 7.229817 6.751303 7.495117 6.575521 7.797852 6.445312 C 8.100586 6.315104 8.417969 6.25 8.75 6.25 L 13.75 6.25 L 13.75 5 C 13.75 4.830729 13.717447 4.669597 13.652344 4.516602 C 13.587239 4.363607 13.497721 4.230144 13.383789 4.116211 C 13.269855 4.002279 13.136393 3.912762 12.983398 3.847656 C 12.830403 3.782553 12.669271 3.75 12.5 3.75 L 2.5 3.75 C 2.324219 3.75 2.161458 3.782553 2.011719 3.847656 C 1.861979 3.912762 1.730143 4.002279 1.616211 4.116211 C 1.502279 4.230144 1.41276 4.361979 1.347656 4.511719 C 1.282552 4.661459 1.25 4.82422 1.25 5 Z M 12.207031 16.25 C 11.985677 15.859375 11.875 15.442709 11.875 15 L 11.875 11.826172 C 11.875 11.487631 11.943359 11.170248 12.080078 10.874023 C 12.216797 10.5778 12.399088 10.319011 12.626953 10.097656 C 12.854817 9.876303 13.120117 9.700521 13.422852 9.570312 C 13.725586 9.440104 14.042969 9.375 14.375 9.375 L 16.25 9.375 L 16.25 8.75 C 16.25 8.580729 16.217447 8.419597 16.152344 8.266602 C 16.087238 8.113607 15.997721 7.980144 15.883789 7.866211 C 15.769856 7.752279 15.636393 7.662762 15.483398 7.597656 C 15.330403 7.532553 15.169271 7.5 15 7.5 L 8.75 7.5 C 8.574219 7.5 8.411458 7.532553 8.261719 7.597656 C 8.111979 7.662762 7.980143 7.752279 7.866211 7.866211 C 7.752278 7.980144 7.66276 8.111979 7.597656 8.261719 C 7.532552 8.411459 7.5 8.574219 7.5 8.75 L 7.5 15 C 7.5 15.175781 7.532552 15.34017 7.597656 15.493164 C 7.66276 15.646159 7.750651 15.777995 7.861328 15.888672 C 7.972005 15.99935 8.103841 16.08724 8.256836 16.152344 C 8.40983 16.217449 8.574219 16.25 8.75 16.25 Z M 18.75 11.875 C 18.75 11.705729 18.717447 11.544597 18.652344 11.391602 C 18.587238 11.238607 18.497721 11.105144 18.383789 10.991211 C 18.269855 10.877279 18.136393 10.787761 17.983398 10.722656 C 17.830402 10.657553 17.66927 10.625 17.5 10.625 L 14.375 10.625 C 14.199219 10.625 14.036458 10.657553 13.886719 10.722656 C 13.736979 10.787761 13.605143 10.877279 13.491211 10.991211 C 13.377278 11.105144 13.28776 11.236979 13.222656 11.386719 C 13.157551 11.536459 13.124999 11.699219 13.125 11.875 L 13.125 15 C 13.124999 15.175781 13.157551 15.34017 13.222656 15.493164 C 13.28776 15.646159 13.37565 15.777995 13.486328 15.888672 C 13.597004 15.99935 13.72884 16.08724 13.881836 16.152344 C 14.03483 16.217449 14.199219 16.25 14.375 16.25 L 17.5 16.25 C 17.675781 16.25 17.838541 16.217449 17.988281 16.152344 C 18.13802 16.08724 18.269855 15.997722 18.383789 15.883789 C 18.497721 15.769857 18.587238 15.638021 18.652344 15.488281 C 18.717447 15.338542 18.75 15.175781 18.75 15 Z " />
|
||||
</controls:SettingsExpander.HeaderIcon>
|
||||
<controls:SettingsExpander.Items>
|
||||
<controls:SettingsCard>
|
||||
<controls:SettingsCard VerticalAlignment="Center" HorizontalContentAlignment="Center">
|
||||
<controls:SettingsCard.Header>
|
||||
<controls1:MailItemDisplayInformationControl x:Name="PreviewMailItemDisplayInformationControl" />
|
||||
</controls:SettingsCard.Header>
|
||||
<controls:SettingsCard.Content>
|
||||
<RadioButtons SelectedIndex="{x:Bind ViewModel.SelectedMailSpacingIndex, Mode=TwoWay}">
|
||||
<RadioButton Content="{x:Bind domain:Translator.SettingsPersonalizationMailDisplayCompactMode}" />
|
||||
|
||||
Reference in New Issue
Block a user