小编Wpf*_*Bee的帖子

封装和抽象之间的区别

我今天接受了采访.我有一个来自OOP的问题,关于Encapsulation&Abstraction之间的区别?

我回答她的知识,Encapsulation基本上是将数据成员和成员函数绑定到一个名为Class的单元中.而抽象基本上是为了隐藏实现的复杂性并提供对用户的轻松访问.我觉得她的回答会很好.但她问道,如果两者的目的都是隐藏信息,那么这两者之间的实际区别是什么?我不能给她任何答案.

在提出这个问题之前,我在StackOverFlow上阅读了关于这两个OOP概念之间差异的其他线程.但我并没有发现自己有能力说服采访者.

任何人都可以用最简单的例子来证明它的合理性吗?

oop encapsulation abstraction

57
推荐指数
8
解决办法
12万
查看次数

抽象类和接口之间有什么区别?

假设我们有两个方法M1(),并M2()在接口.抽象类也有两个相同的抽象方法.如果任何类实现了此接口或从抽象类继承,则必须同时实现其中的方法.

所以对我来说,似乎我的场景中的接口或抽象类的行为相同.那么,任何人都可以在这个特定的情况下突出显示这两者之间的区别,并建议是否在这里使用抽象类或接口?

c# oop abstract-class interface

47
推荐指数
1
解决办法
8万
查看次数

WPF中的PropertyMetaData,UIPropertyMetadata和FrameworkMetaData之间有什么区别

我知道这些类之间的基本区别是我们在备份属性时使用PropertyMetadata,当我们想要支持动画时使用UIPropertyMetadata,以及在用户控件中使用FrameworkMetadata for Framework属性.

但我只理解理论部分.如果你能解释一个最简单的例子,它将在3个不同的依赖属性中使用所有这3个类,清楚地区分它们,这将是一个很好的例子.

提前致谢.

wpf

11
推荐指数
2
解决办法
5444
查看次数

如何在Spyder和RStudio中永久设置工作目录?

我已经开始学习-Windows OS上的机器学习课程。每当我启动Spyder 3.2.4(Python 3.6)和RStudio(1.1.383)的新实例时,每次需要在这些IDE中设置当前工作目录时。有什么方法可以永久设置它们吗?

rstudio spyder

5
推荐指数
2
解决办法
8899
查看次数

WPF RelativeSource行为

我在理解RelativeSource绑定行为方面遇到了一些问题.下面是将Label内容StackPanel正确绑定到Tag的代码:

<Window x:Class="Binding_RelativeSource.MainWindow" Tag="Window Tag">
    <Grid Tag="Grid Tag">
        <StackPanel Tag="StackPanel Tag" Height="100" HorizontalAlignment="Left" Margin="156,97,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="200">
            <Label Content="{Binding Path=Tag,RelativeSource={RelativeSource Mode=FindAncestor,AncestorLevel=1,AncestorType=StackPanel},FallbackValue=BindingFailed}" Height="28" Name="label1" />
        </StackPanel>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

上面的代码不绑定GridTag,如果我改变AncestorType=GridAncestorLevel=2.我有两个问题:

  1. 我想我应该将AncestorLevel改为2,绑定到Grid.但它起作用了AncestorLevel=1.为什么?

  2. 我也无法将标签绑定到Window标签.请提示.

data-binding wpf binding

4
推荐指数
1
解决办法
2万
查看次数

单身设计模式与静态类

当Singleton设计模式优于静态类并且静态类优于Singleton设计模式时,有哪些情况?

c# design-patterns

3
推荐指数
2
解决办法
4813
查看次数

如何使用Directory.EnumerateFiles()应用多个搜索模式?

我使用下面的代码搜索具有特定扩展名的目录(及其子目录)中的文件:

Directory.EnumerateFiles(dir, Path.GetFileNameWithoutExtension(item) + ".ext1" , SearchOption.AllDirectories);
Run Code Online (Sandbox Code Playgroud)

现在,我可以使用不同的扩展名文件,如".ext1",".ext2",".ext3".我想在我的搜索模式中结合这些扩展,如下所示:

Directory.EnumerateFiles(dir, Path.GetFileNameWithoutExtension(item) + ".ext1||.ext2" , SearchOption.AllDirectories);
Run Code Online (Sandbox Code Playgroud)

建议好吗?

c# linq .net-4.0

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

如何在WPF中获取控件属性的默认绑定模式?

我知道如果控件的属性是用户可编辑的,那么它将支持双向绑定模式.例如,TextBox.Text属性也可以获取和设置.

所以,我的问题是[以编程方式/设计器属性窗口查看]如何获得控件属性的默认模式.即对于TextBox.Text,默认绑定模式本身就是双向的,而不是单向,单向源或一次.

我希望,我很清楚我的问题.如果不清楚,请问我.

wpf

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

如何在App.Xaml StartUpUri中设置视图

我创建了一个MVVM示例应用程序.我的解决方案结构就像我有4个文件夹.Model为1st,View为2nd,ViewModel为3rd,HelperClasses为4th.目前我在View文件夹中只有一个视图.我想在App.xaml文件的StartupUri中设置我的视图[说FamilyView,显示在View文件夹中],默认情况下设置为MainWindow.xaml.

我不想在App.Xaml.cs中设置启动.

请建议怎么做?

另外,如果有多个视图,请您建议如何仅在App.Xaml文件中更改视图.

wpf xaml mvvm

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