I just spent several hours trying to plunge into the properties of dependencies (find a lot of useful information here on the site). I wrote my first dependency property, but it does not behave as I would like. Can someone take a look at my code and see if it can determine what happened? When I try to run the application I get a TargetInvocationException was thrown
<Window x:Class="TextEditorMVVM.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:TextEditorMVVM.ViewModel" Title="MainWindow" Height="660" Width="621" ResizeMode="CanResize" Background="Gray"> <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/Resources/Dictionary1.xaml"/> </ResourceDictionary.MergedDictionaries> <c:TextEditorViewModel x:Key="TextEditorViewModel"></c:TextEditorViewModel> </ResourceDictionary> </Window.Resources> <Border CornerRadius="10" BorderThickness="12" Background="#FF505050"> <Border.BorderBrush> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Color="LightGray" Offset="1" /> <GradientStop Color="Gray" Offset="0" /> </LinearGradientBrush> </Border.BorderBrush> <StackPanel DataContext="{StaticResource TextEditorViewModel}"> <Menu Height="auto" Background="Transparent" Foreground="White"> <MenuItem Width=" auto" Height="auto" Header="_File" VerticalAlignment="Center"> <MenuItem Header="_New" Command="{Binding CreateNewTabCommand}"></MenuItem> <MenuItem Header="_Open" Command="{Binding OpenFileCommand}"></MenuItem> <MenuItem Header="_Save" Command="{Binding SaveFileCommand}"></MenuItem> <MenuItem Header="_Close" Command="{Binding CloseTabCommand}"></MenuItem> <MenuItem Header="_Print" Command="{Binding PrintCommand}"></MenuItem> <MenuItem Header="_Exit" Command="{Binding }"></MenuItem> </MenuItem> <MenuItem Width=" auto" Height="auto" Header="_Edit" VerticalAlignment="Center"> <MenuItem Header="_Cut" Command="ApplicationCommands.Cut"></MenuItem> <MenuItem Header="_Copy" Command="ApplicationCommands.Copy"></MenuItem> <MenuItem Header="_Paste" Command="ApplicationCommands.Paste"></MenuItem> </MenuItem> <MenuItem Width=" auto" Height="auto" Header="_Help" VerticalAlignment="Center"> <MenuItem Header="_Call Mikael" Command="{Binding }"></MenuItem> <MenuItem Header="_Call Semyon" Command="{Binding }"></MenuItem> <MenuItem Header="_Cry" Command="{Binding }"></MenuItem> </MenuItem> <Expander Header="Autosave" VerticalAlignment="Center" Foreground="White"> <StackPanel Orientation="Horizontal"> <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsChecked, Mode=TwoWay}"></CheckBox> <TextBox Width="40" Height="20" Margin="4" ></TextBox> <Label VerticalAlignment="Center" Foreground="White">seconds</Label> </StackPanel> </Expander> </Menu> <c:TransparentTb IsTransparent="False" Text="Why aren't you working????"> </c:TransparentTb> <TabControl x:Name="_tabControl" ItemsSource="{Binding TestTab}" SelectedItem="{Binding SelectedTab}" Background="Transparent" BorderThickness="0"> <TabControl.ItemContainerStyle> <Style TargetType="TabItem"> <Setter Property="Header" Value="{Binding Title}"/> <Setter Property="Style" Value="Transparent"/> <Setter Property="Content" Value="{Binding InputText}"/> </Style> </TabControl.ItemContainerStyle> </TabControl> </StackPanel> </Border>
class TransparentTb : TextBlock { static TransparentTb() { } { get { return (bool) GetValue(IsTranparentProperty); } set { SetValue(IsTranparentProperty, value); } }
source share