Нужно вывести окно поверх всех окон, для эффекта водяного знака. Возможно ли это сделать с помощью WPF без использования WinApi?
У окна WPF есть специальное свойство Topmost
. Его нужно установить в true
:
<Window x:Class="MySolution.MyProj.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MySolution.MyProj"
Title="Sample"
Height="350"
Width="525"
Topmost="True"> <!-- Вот тут -->
<Grid>
</Grid>
</Window>
UPD. Не сразу понял, чего хотел добиться автор. Для того, чтобы сделать некоторое подобие "водяного знака" лучше использовать Image
, а не окно.
Пусть наш водяной знак будет котиком. Думаю, все любят котиков :)
Изображение, с которым мы будем работать: 1.jpg
А возможно ли сделать окно некликабельным? Чтобы можно было взаимодействовать с объектами за ним
Это возможно для любого UIElement
. Для этого нам понадобится свойство IsHitTestVisible
установить в false
. Ну и чтобы сделать изображение полупрозрачным, используем свойство Opacity="0.2"
.
Таким образом, xaml-код будет выглядеть так:
<Window x:Class="WpfApp1.MainWindow"
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:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button FontSize="35" Click="Button_Click">Hello</Button>
<Image Source="1.jpg" Stretch="Fill" IsHitTestVisible="False" Opacity="0.2"/>
</Grid>
</Window>
Теперь мы можем кликать на кнопку, и котик нам не будет мешать это делать)
Результат работы программы:
P.S. Обработчик событий в code-behind вызывает MessageBox с сообщением Hello.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно разработать мультиплатформенное десктопное(в будущем возможно и мобила) приложениеВыбрал Xamarin Forms, он только для мобильных приложений?...
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение