Wpf画布背景图像不显示本地路径中的选定图像
XAML代码
<Canvas x:Name="LayoutRoot" Margin="485,24,0,0" HorizontalAlignment="Left" Width="341" Height="506" VerticalAlignment="Top">
<Canvas.Background>
<ImageBrush ImageSource="{Binding BGImage}"/>
</Canvas.Background>
</Canvas>
Run Code Online (Sandbox Code Playgroud)
MVVM代码
private String _BGImage = @"?C:/Users/sam/Desktop/photo-5.jpg";
public String BGImage
{
get
{
return this._BGImage;
}
set
{
this._BGImage = value;
NotifyPropertyChanged("BGImage");
}
}
Run Code Online (Sandbox Code Playgroud)
为什么这个图像不显示在画布背景上
我们有SQLServer01.Publish.xml当我双击这个文件并发布,它发布一个数据库sqlServer01.
我想问一下,我们能否以某种方式从代码中发布此配置文件?
我有一个网格,我试图把垂直和水平GridSplitters.这是我的主要网格,我希望它尽可能流畅.
在我的第二个定义中,我得到了"Missing Grid.Column setter for non-first child"
我发现了很多关于实现其中一个的文档.我没有发现任何迹象表明我可以做到这两点.但是,我们的行业是由想要推动功能的人组成的.
这是我的XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="50*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50*"></RowDefinition>
<RowDefinition Height="5"></RowDefinition>
<RowDefinition Height="50*"></RowDefinition>
</Grid.RowDefinitions>
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch"></GridSplitter>
<GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch"></GridSplitter>
Run Code Online (Sandbox Code Playgroud)
每次调用richtextbox.ApplyPropertyValue()方法时如何设置字体大小。我想使用方法。我已经试过了
myrichtextbox.SetValue(TextElement.FontSizeProperty, fontSizedouble +10);
myrichtextbox.FontSize = (myrichtextbox.FontSize + 10);
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试开发具有以下功能的触摸屏应用程序:
我正在工作的地方将要接收触摸屏(实际上是放在平面屏幕上的一层)。
我希望能够生成触摸输入,以便在没有屏幕的情况下开发和测试应用程序。
我发现的所有资源都很旧或复杂。
在没有触摸屏的情况下,当今开发和测试触摸屏应用程序的最佳方法是什么?
我有一个需要处理的对象列表.所以说列表是所有客户的列表,我需要对所有客户执行CPU密集型计算.虽然在此计算之前和之后我需要将数据提取并提交回数据库,因此它不仅仅是一个CPU任务.
所以我做的是
Parallel.ForEach(list, action);
行动在字面上
1 Fetch customer data
2 Process calculate (time and memory intensive task)
3 Commit back customer data
Run Code Online (Sandbox Code Playgroud)
代码中使用的工作不错,但最近时有时多个客户与非常高的多项纪录被处理,我们得到系统内存不足.
那么有没有办法对此进行负载均衡?大多数客户都得到了快速处理,但很少有人将所有资源都拿走了.我可以避免其中一些一起跑吗?
我可以实现这一点的一种方法是根据大小对列表进行排序,然后尝试选择第一个和最后一个项目并自己控制并行性,但是想看看我在这里有哪些选项.
我有一个observableCollection实例,我想将其绑定到一个列表,并使用户能够直接更改此集合中的字符串。
当前的实现如下:
class container
{
public OBservableCollection<string> data {get; set;}
public container() { data = new ... }
}
...
var instance = new container();
listBox.ItemsSource = instance.data;
Run Code Online (Sandbox Code Playgroud)
对于XAML:
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding}" MinWidth="50"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
当我将任何字符串添加到该列表时,都会出现错误,“双向绑定需要Path或XPath。”。我尝试将路径值设为“。” 因为我的目标是相同的源值,但是绑定失败。
请指教,
我的 WPF .net 应用程序中有两个 DataGrid。其中一个工作正常,另一个正在创建一行(空),我不知道它添加到哪里。数据网格看起来与我非常相似。
以下是网格的生成方式:
<DataGrid AutoGenerateColumns="False"
Name="grid1">
<DataGrid.Columns >
<DataGridTextColumn Binding="{Binding Path=HUHU}" MinWidth="120" Header="HUHU" />
... some columns
</DataGrid.Columns>
</DataGrid>
<DataGrid AutoGenerateColumns="False"
Name="grid2" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=HU}" MinWidth="50" Header="HU" />
... some columns
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
以下是网格的填充方式:
Dim grid1Source = New List(Of SomeType)
For Each a As SomeType In MyFunctions.GetAllCalendarItems(CalendarPicker.SelectedDate)
grid1Source.Add(a)
Next
grid1.ItemsSource = gird1Source
Dim grid2Source = New List(Of SomeOtherType)
For Each fa As SomeOtherTypeIn MyFunctions.GetsomeCalendarItems(CalendarPicker.SelectedDate)
grid2Source.Add(fa)
Next
grid2.ItemsSource = grid2Source
Run Code Online (Sandbox Code Playgroud)
现在棘手的事情是:它们看起来不同。其中一个包含一个空行。(你可以在下图中看到它)这并不是因为函数返回了坏/空对象(用调试器检查了大约 500 次)。
任何想法如何解决这一问题?
我有一个需要几秒钟才能执行的方法.我创建了一个大标签,它应该在调用方法之前出现,并在方法完成执行时消失.但是,即使出现标签的行放在方法调用之前,我的标签也不会出现.为什么我的C#WPF代码会这样做?如何解决这个问题,以便在调用方法之前显示我的标签并在之后消失?
这是我的代码示例:
label.Visibility = Visible;
myMethod();
label.Visibility = Invisible;
Run Code Online (Sandbox Code Playgroud) 我想在最后一次出现特殊字符时拆分字符串.
我尝试从浏览器解析选项卡的名称,所以我的初始字符串看起来像这样:
无标题 - 谷歌浏览器
由于存在Split功能,因此很容易解决.这是我的实现:
var pageparts= Regex.Split(inputWindow.ToString(), " - ");
InsertWindowName(pageparts[0].ToString(), pageparts[1].ToString());//method to save string into separate columns in DB
Run Code Online (Sandbox Code Playgroud)
这有效,但是当我得到这样的页面时会出现问题:
SQL注入 - 维基百科,免费的百科全书 - Mozilla Firefox
这里有两个破折号,这意味着,在分割完成后,数组中有3个单独的字符串,如果我将继续正常,数据库将包含第一列值"SQL注入"和第二列值"Wikipedia,免费百科全书".最后一个值将完全省略.
我想要的是数据库中的第一列将具有价值:SQL注入 - 维基百科,免费的百科全书"和第二列将具有:"Mozilla Firefox".这有可能吗?
我试图使用Split(" - ").Last()函数(甚至也是LastOrDefault()),但后来我只得到了一个最后一个字符串.我需要得到原始字符串的两面.刚刚划过最后一个破折号.
我正在尝试使用nuget安装最新的实体框架.一些我们的公司代理如何不允许连接到nuget.因此我们从中下载了包
packages.nuget.org/v1/Package/Download/EntityFramework/
下载的文件是一个包含东西和一个NUSPEC文件的zip文件.我的理解是我需要一个NUPKG文件来安装软件包,但我不知道如何安装这个软件包.
我下载了正确的文件吗?或者我该如何安装这个包呢?
如果超过5,我想将文本框中文本的颜色更改为蓝色.
最简单的方法是什么?
我以为会有一个简单的textbox.FontColor = Blue; 但是我找不到这样的东西
c# ×10
wpf ×10
xaml ×3
.net ×2
vb.net ×2
async-await ×1
datagrid ×1
datatrigger ×1
font-size ×1
gridsplitter ×1
nuget ×1
regex ×1
richtextbox ×1
split ×1
sql-server ×1
string ×1