我正在开发一个有日志的WPF应用程序.该日志使用listView设计.当鼠标结束或选择项目时,listviewitems最不会改变外观.我已经用listview的这种风格解决了这个问题:
<Style x:Key="ItemContainerStyle1" TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Focusable" Value="False" />
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
这种风格解决了我的问题,但提出了一个新问题.当背景设置为"透明"时,当鼠标位于列表视图项目上时,我现在能够看到下图所示的悬停/光泽效果.

我试图通过这种尝试解决问题,但没有运气.
<Style TargetType="{x:Type ListViewItem}">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#00000000"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="#00000000"/>
</Style.Resources>
</Style>
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何消除这种恼人的悬停效果?
提前致谢
我正在使用MVVM开发一个应用程序,我想使用Entity Framwork 5.0.这是我第一次使用EF,所以希望我能解释一下我的问题所以你们都明白了.我的应用程序有一个嵌入式数据库,我正在使用Code-First方法.
下面是一个示例来说明问题:这里我设置了我的项目模型,我在嵌入式数据库中设置为一个表,如果我理解正确的话.
class CreateDbContext : DbContext
{
public CreateDbContext() : base() { }
public CreateDbContext(String nameOrConnectionString) : base(nameOrConnectionString) { }
public DbSet<Project> Projects { set; get; }
}
Run Code Online (Sandbox Code Playgroud)
现在,在我的ProjectViewModel中,我想在执行任何操作之前检查数据库中的Project表是否为空.
using (var db = new CreateDbContext())
{
if(db.Projects <-- checked if this is Tablet is empty ??)
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做,或者甚至可能吗?
我对 git 相当陌生,现在我知道基础知识。即使我在日常工作中使用带有 GUI 的插件/程序来使用 git,我也很想知道幕后发生了什么。
我通常在 Intellij 工作,在那里我可以将我的更改拆分到不同的“更改列表”中。
如下图所示,我有一个带有 Markdown 文件的更改列表和一个带有脚本更改的默认更改列表。
这是一张显示它的图片:
我想知道更改列表是 Git 中的一个概念还是只是 Intellij 插件中的一个概念?
如果是 Git 中的概念,那么命令行中需要的命令是什么?
我想在我的WPF应用程序中使用HTTP调用查询数据库时使用async/await.这是我第一次使用async/await,所以如果你看到任何明显的错误,请随意指出它们.
问题是,我不能再遍历返回的收集,因为它现在是一个任务<IEnumerable<SomeClass>>,并且从我发现,任务不实现IEnumerable/IEnumerator.
我的代码如下所示:调用async/await方法的方法.
private void AddProjectDrawingAndComponentsFromServerToLocalDbAsync(CreateDbContext1 db, Project item)
{
var drawings = client.GetDrawingsAsync(item.ProjectId);
..... (waiting for GetDrawingsAsync to return, so i can iterate over the drawings)
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
GetDrawingsAsync方法:
public async Task<IEnumerable<Drawing>> GetDrawingsAsync(int projectId)
{
var drawings = Task.Factory.StartNew(() => _client.Get(new GetDrawingsReq() { ProjectId = projectId }));
return await drawings;
}
Run Code Online (Sandbox Code Playgroud)
返回等待异步方法完成的方法:
private void AddProjectDrawingAndComponentsFromServerToLocalDbAsync(CreateDbContext1 db, Project item)
{
var drawings = client.GetDrawingsAsync(item.ProjectId); <-- The returned Task<Task<IEnumerable<Drawing>>
Drawing prj_drawing = null;
foreach (var draw in drawings)
{ …Run Code Online (Sandbox Code Playgroud) 从昨天开始,我一直在为我的问题寻找解决方案.我正在构建MVVM模式的问题.我有两个usercontrol,它们都包含一个列表框.
第一个用户控件称为SearchView,它包含项目名称列表框,用户可以选择并保存到应用程序本地数据库.

添加所选项目时会触发一个事件,该事件通知名为"ProjectView"的第二个usercontrol.此用户控件只显示本地保存的项目.见下图.

问题是我希望能够在项目视图中按名称升序列表框.因此,如果用户首先添加"测试项目2"并且后面添加"测试项目1",则"测试项目1"将显示在列表框的顶部.
我曾尝试使用ICollectionView和ListCollectionView,但我现在非常非常困惑.
所以现在我的代码看起来像这样,在需要对列表框进行排序的ProjectViewModel中:
public ProjectViewModel() {
this.collectionView = CollectionViewSource.GetDefaultView(this.Projects);
}
private ObservableCollection<ProjectWrapper> _project = new ObservableCollection<ProjectWrapper>();
public ObservableCollection<ProjectWrapper> Projects
{
get { return _project; }
set
{
_project = value;
OnPropertyChanged("Projects");
}
}
Run Code Online (Sandbox Code Playgroud)
XAML代码:
<UserControl.Resources>
<CollectionViewSource x:Key="cvs" Source="{Binding Path=Projects}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="ProjectWrapper.Project.Name" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
<ListBox Name="ProjectsList" ItemsSource="{Binding Source={StaticResource cvs}}" SelectedItem="{Binding Path=SelectedProject}" HorizontalContentAlignment="Stretch" BorderThickness="0" Grid.Row="1" Grid.RowSpan="3" Margin="0,0.4,-0.2,27.8">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel>
<TextBlock Text="{Binding Path=ProjectModel.Name}" HorizontalAlignment="Left" VerticalAlignment="Center" Padding="3,2,0,0" />
<CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="0,2,5,0" Margin="0,2.5,0,0" …Run Code Online (Sandbox Code Playgroud) 新的Docker 1.13.0版本推出docker stack deploy.
docker stack deploy增加了docker-compose.yml直接从文件部署服务的支持.
命令docker service create和docker deploy stack创建相同的服务,只是我两种不同的方式?
是否有任何特殊功能通过创建它添加服务docker deploy stack?
我有点困惑,无法找到有关此主题的任何信息.
提前致谢
c# ×3
.net ×2
wpf ×2
xaml ×2
async-await ×1
docker ×1
docker-swarm ×1
git ×1
mvvm ×1
styles ×1