Подскажите пожалуйста как в c# wpf vs2010 отключить масштабирование окон и всех элементов в зависимости от изменения размера экрана. Т.е. я создаю приложение (окна и элементы окна) при размере экрана 100%, и если у пользователя размер экрана иной, например, 125% - то мое приложение должно отображаться как в оригинале (т.е. как при 100%). Сейчас если я запускаю приложение при 125%, то оно как-будто увеличивается кратно. Ниже привожу пример кода xaml для первого окна:
<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test" Height="209" Width="350" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" Background="#FFE0E0E0" FontFamily="Arial" FontSize="9">
<Grid Width="350" HorizontalAlignment="Center">
<Button Style="{StaticResource MyButton1}" Content="Выход" Height="37" HorizontalAlignment="Left" Margin="19,128,0,0" Name="button2" VerticalAlignment="Top" Width="140" FontFamily="Tahoma" FontSize="14" IsTabStop="False" Click="button2_Click" Background="LightGray"></Button>
<Label Height="35" HorizontalAlignment="Left" Margin="102,14,0,0" Name="label1" VerticalAlignment="Top" Content="Test" VerticalContentAlignment="Center" FontFamily="Tahoma" FontSize="18" Width="120" />
<Separator Height="5" HorizontalAlignment="Center" Margin="9,93,9,0" Name="separator1" VerticalAlignment="Top" Width="322" />
</Grid>
</Window>
Добавьте в конструктор окна (после InitializeComponent
):
// Узнаем текущий масштаб Windows
var scaleX = VisualTreeHelper.GetDpi(this).DpiScaleX;
var scaleY = VisualTreeHelper.GetDpi(this).DpiScaleY;
// Трансформируем контент окна до масштаба 100%
((UIElement)Content).RenderTransform = new ScaleTransform(1 / scaleX, 1 / scaleY);
Если у вас .NET ниже версии 4.6.2, то этот метод не сработает. Попробуйте так, но имейте ввиду, что это сработает только после того, как окно будет загружено (например, в подписчике на Loaded
):
var scaleX = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice.M11;
var scaleY = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice.M22;
В своем проекте часто приходится работать с sql-запросамиНа данный момент я использую LINQ to SQL, чтобы получить необходимые данные из БД, но структура...
По мере получения данных, изменяю значение полей у элементов класса(List<'User1>)Возможно ли сделать метод, в который можно было бы передать какое...
Коротко говоря пж помогите есть код который кидает информацию в БД знаю как сделать штобы с формы кидало но хотелось ето в классе чтобы не дублировать...