小编Stu*_*nna的帖子

导航MVVM

我试图坚持使用MVVM设计模式的尝试让我在旋转.我有一个视图,是一个网站位置的选择列表.我有一个viewmodel,视图从中获取数据上下文,并且我已经使用按钮等绑定了一些项目(yay!).

现在我正在尝试从视图中的按钮单击切换当前视图. 我的页面

通过单击"开始维护"按钮,我想将视图切换到另一个具有不同视图模型的视图.

所以我知道MVVM只是一种设计模式,似乎有很多不同的实现MVVM导航的方式.但是我看到的大多数这些解决方案都指向了一个主导航窗格,这不是我打算做的.

我现在计划尝试使用带有MVVM光信使模式的viewmodellocator来尝试让我的观点改变.但是在过去3天试图让这件事情发挥作用后,我正在变得绝望.关于如何实现这个有什么其他建议吗?我喜欢Sheridan对类似帖子的回答:WPF MVVM导航视图,因为它避免使用工具包/框架.但我认为答案可能对我来说太模糊了,我无法实现它,因为我不明白如何改变观点(Sheridan的自定义中继消息很难像新手一样).

帮助请你互联网Denizens!:)如果你能指出我也会赞赏的任何例子!

c# navigation wpf mvvm

5
推荐指数
1
解决办法
389
查看次数

如何将 textblock.foreground 绑定到变量?(WPF C#)

所以我希望改变我的程序,以便我可以运行一个函数来检查前景色是否应该是黑色或银色。我希望将“不可访问”的字段涂灰。

我的表格目前看起来像: 在此处输入图片说明

我希望将“无需维护”字段“变灰”。但是我在尝试为数据模板中的字体前景定义绑定元素时遇到问题。

我已经尝试了从尝试在主窗口代码中定义 IValueConverter 类到定义窗口键资源的所有方法,但似乎我无法在文本块元素本身的数据模板中执行此操作?

任何建议/帮助将不胜感激。谢谢!

XAML:

<Grid Margin="0,0,2,0">

    <ListBox x:Name="allSites_LB" 
             HorizontalAlignment="Left" 
             Height="400" 
             Margin="20,60,0,0" 
             VerticalAlignment="Top" 
             Width="945"
             Loaded="allSites_LB_Loaded" 
             BorderThickness="1" SelectionChanged="allSites_LB_SelectionChanged"
             ScrollViewer.HorizontalScrollBarVisibility="Disabled"
             >
        <ListBox.ItemTemplate >
            <DataTemplate >
                <Border BorderBrush="Black" BorderThickness="0,0,0,1" Margin="-20,1,0,1" Padding="0,5,0,5" >
                    <Grid Margin="75,3" >
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="200" />
                            <ColumnDefinition Width="400" />
                            <ColumnDefinition Width="345" />
                        </Grid.ColumnDefinitions>
                        <TextBlock Text="{Binding SiteNo}" Grid.Column="0" FontSize="16" />
                        <TextBlock Text="{Binding Address}" Grid.Column="1" FontSize="16" Margin="50,1" />
                        <TextBlock Text="{Binding MaintStatus}" Grid.Column="2" FontSize="16" />
                    </Grid>
                </Border>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

    <Button x:Name="viewHistory_BTN" 
            Content="View History" 
            HorizontalAlignment="Left" 
            Height="52" 
            Margin="20,496,0,0" 
            VerticalAlignment="Top" 
            Width="172" FontSize="20" …
Run Code Online (Sandbox Code Playgroud)

c# wpf textblock visual-studio-2013

3
推荐指数
1
解决办法
6834
查看次数

标签 统计

c# ×2

wpf ×2

mvvm ×1

navigation ×1

textblock ×1

visual-studio-2013 ×1