Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要非常小的WPF C示例#_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

C# 需要非常小的WPF C示例#

C# 需要非常小的WPF C示例#,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,我是WPF和MVVM结构的初学者。下面是我查看零件和相关文件的代码: 车辆列表 <Window x:Class="Seris.ListOfVehicle" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="ListO

我是WPF和MVVM结构的初学者。下面是我查看零件和相关文件的代码:

车辆列表

<Window x:Class="Seris.ListOfVehicle"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="ListOfVehcle" Height="600" Width="700"
            xmlns:cnv="clr-namespace:Seris.Converters">
<Window.Resources>
    <cnv:ID2Name x:Key="converter" />
</Window.Resources>

<Grid HorizontalAlignment="Center">

    <Label Content="Manage Vehicle" HorizontalAlignment="Left" Height="27" Margin="261,8,0,0" VerticalAlignment="Top" Width="103" FontWeight="Bold" FontSize="12"/>
    <Label Content="SERIS CAD" HorizontalAlignment="Left" Height="30" Margin="53,8,0,0" VerticalAlignment="Top" Width="84" FontWeight="Bold"/>
    <Menu x:Name="ListOfPersonnnel" HorizontalAlignment="Left" Height="32" Margin="10,35,0,0" VerticalAlignment="Top" Width="603">
        <MenuItem Header="Manage Vehicle &gt;&gt;" />
    </Menu>

    <Button Name="Add_Button" CommandParameter="add"  Command="{Binding OpenAddWindow_Command}"  Content="Add" Height="28" Width="81" Margin="246,396,315,46"/>
    <Button Name="Replace_Button" CommandParameter="replace" Command="{Binding ReplaceButton_Command}" IsEnabled="{Binding IsEnableReplaceButton, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"  Content="Replace" Height="28" Width="81" Margin="345,396,216,46"/>
    <Button Name="Remove_Button" CommandParameter="remove" Command="{Binding RemoveButton_Command}" IsEnabled="{Binding IsEnableReplaceButton, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"  Content="Remove" Height="28" Width="81" Margin="442,396,119,46"/>


    <ListView Name ="Grid" Margin="104,67,185,226" >
        <DataGrid Name="DG" ItemsSource="{Binding ListItems, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedRow, Mode=TwoWay}"  SelectionMode="Single" GridLinesVisibility="None" IsReadOnly="True" AutoGenerateColumns="False" BorderThickness="0">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Vehicle No" Binding="{Binding VehicleNo}"/>
                <DataGridTextColumn Header="Model" Binding="{Binding Model}" />
                <DataGridTextColumn Header="ManufacturingDate" Binding="{Binding ManufacturingDate}" />
                <DataGridTextColumn Header="IUNo" Binding="{Binding IUNo}" />
                <DataGridTextColumn Header="Personnel" Binding="{Binding PersonnelNameSelected, Converter={StaticResource converter} }" />
                <DataGridTextColumn Header="Unique No" Binding="{Binding UniqueNo}"/>
            </DataGrid.Columns>
        </DataGrid>
    </ListView>


</Grid>

</Window>

在做了这些之后,我有一点被卡住了。我需要的是如下所示,但不确定如何实现

假设,我在视图部件中放置了两个文本框和一个标签。(分别考虑TextBox1、TextBox2和Label)

我需要的是WPF C#的一个非常小的示例,这样当我单击特定的文本框时,它会在标签中给出该文本框的内容和名称


i、 e.名称是“TextBox1”,内容是“你好吗?”

使用触发器和StringFormat可以帮助您实现这一技巧

<Grid>
    <ContentControl>
        <ContentControl.ContentTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Name="myTextBlock"/>
                    <TextBox Name="TextBox1"></TextBox>
                    <TextBox Name="TextBox2"></TextBox>
                </StackPanel>
                <DataTemplate.Triggers>
                    <DataTrigger Binding="{Binding IsKeyboardFocused, ElementName=TextBox1}" Value="true">
                        <Setter Property="Text" TargetName="myTextBlock">
                            <Setter.Value>
                                <MultiBinding StringFormat="{}Name is '{0}', Content is '{1}'">
                                    <Binding ElementName="TextBox1" Path="Name" />
                                    <Binding ElementName="TextBox1" Path="Text" />
                                </MultiBinding>
                            </Setter.Value>
                        </Setter>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding IsKeyboardFocused, ElementName=TextBox2}" Value="true">
                        <Setter Property="Text" TargetName="myTextBlock">
                            <Setter.Value>
                                <MultiBinding StringFormat="{}Name is '{0}', Content is '{1}'">
                                    <Binding ElementName="TextBox2" Path="Name" />
                                    <Binding ElementName="TextBox2" Path="Text" />
                                </MultiBinding>
                            </Setter.Value>
                        </Setter>
                    </DataTrigger>
                </DataTemplate.Triggers>
            </DataTemplate>
        </ContentControl.ContentTemplate>
    </ContentControl>
</Grid>


听起来你几乎要给我们布置任务了。你的尝试在哪里?。如果您询问有关代码的具体问题,我相信人们会很乐意提供帮助……请看这里:。我甚至在中为您编写了WPF。实际上,我正在做一个应用程序来学习WPF,只剩下这个功能。这就是为什么。如果你需要的话,我可以把我的一堆文件放进去,但这对你没有用。那就不要把那些对我们没有用的文件放进去。只需向我们展示代码的相关摘录。请不要鼓励或奖励这样的问题。@nit:我非常感谢您的努力。我不知道如何证明这些观众。我已经是跨国公司的一名软件开发人员了,但我不想把你们所有人都搞糊涂,而只是把一堆代码放进去。顺便说一句,我很感谢你的努力,现在是周末,我会在工作日回来。