我正在使用跟随xaml创建一个简单的赛车应用程序
<StackPanel>
<Slider x:Name="racerOne" Maximum="1000"/>
<Slider x:Name="racerTwo" Maximum="1000"/>
<Button Content="Start Race" Click="myButton_Click"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我使用以下代码
private void myButton_Click(object sender, RoutedEventArgs e)
{
Task firstRacer = Task.Run(() => Race(racerOne));
Task secondRacer = Task.Run(() => Race(racerTwo));
}
private void Race(Slider racer)
{
int step = 0;
while (step < 1000)
{
step += new Random().Next(0, 10);
Dispatcher.BeginInvoke(new ThreadStart(() => racer.Value = step));
Thread.Sleep(new Random().Next(0, 300));
}
}
Run Code Online (Sandbox Code Playgroud)
大多数时候(假设90%是precent)两个滑块似乎一起移动,而在调试中我可以看到每个线程生成不同的值step.怎么会?
我有以下属性以下公司(不包括Id):
public virtual Category Category { get; set; }
Run Code Online (Sandbox Code Playgroud)
它映射到CompanyMap中,如下所示:
HasOne(x => x.Category)
.Cascade.All();
Run Code Online (Sandbox Code Playgroud)
类别只有以下属性:
public virtual string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
CategoryMap:
Map(x => x.Name)
.Column("Name")
.Length(40)
.Unique();
Run Code Online (Sandbox Code Playgroud)
该表已在DB中成功创建.
我有一个包含以下查询的存储库:
var test = Session.QueryOver<Company>()
.WhereRestrictionOn(dbCompany => dbCompany.Category.Name)
.IsLike(category.Name);
Run Code Online (Sandbox Code Playgroud)
category.name只是任何字符串.
然后我想访问数据库并获得结果:
var result = test.List();
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
could not resolve property: Category.Name of: My.Name.Space.Company
Run Code Online (Sandbox Code Playgroud)
查询有什么问题?
我正在创建一个源自的自定义控件TextBox。我试图覆盖它的Height属性的默认值,但是我不断收到类型不匹配的错误。
元数据覆盖和基本元数据必须是相同类型或派生类型。
在MSDN上,它声明Height属性为类型System.Double。
我尝试了以下方法:
1)转换为两倍
HeightProperty.OverrideMetadata(typeof(SuggestionTextBox), new UIPropertyMetadata(Convert.ToDouble(200)));
Run Code Online (Sandbox Code Playgroud)
和
HeightProperty.OverrideMetadata(typeof(SuggestionTextBox), new UIPropertyMetadata((double)200));
Run Code Online (Sandbox Code Playgroud)
2)试图找出默认值
HeightProperty.DefaultMetadata.DefaultValue
Run Code Online (Sandbox Code Playgroud)
编辑:我在控件的静态构造函数中执行此操作,如MSDN上的示例所示
知道我如何可以覆盖它的默认值吗?
我使用一个名为的自定义控件ImageButton来显示具有不同图像的按钮.ImageButton包含依赖属性:
public ImageSource DisabledImageSource
{
get { return (ImageSource)GetValue(DisabledImageSourceProperty); }
set { SetValue(DisabledImageSourceProperty, value); }
}
public ImageSource NormalImageSource
{
get { return (ImageSource)GetValue(NormalImageSourceProperty); }
set { SetValue(NormalImageSourceProperty, value); }
}
public ImageSource HoverImageSource
{
get { return (ImageSource)GetValue(HoverImageSourceProperty); }
set { SetValue(HoverImageSourceProperty, value); }
}
public ImageSource PushedImageSource
{
get { return (ImageSource)GetValue(PushedImageSourceProperty); }
set { SetValue(PushedImageSourceProperty, value); }
}
public static readonly DependencyProperty DisabledImageSourceProperty =
DependencyProperty.Register("DisabledImageSource", typeof(ImageSource), typeof(ImageButton), new UIPropertyMetadata());
public static readonly DependencyProperty …Run Code Online (Sandbox Code Playgroud) 我有一个DataGrid绑定到模型集合的对象。我的模型有一个名为 stringPosition类型的 string 属性,但包含一个整数值。
我的问题是,在对此列进行排序时,值被排序为1, 10, 2而不是1, 2, 10.
有没有处理这种 MVVM 风格而不处理代码隐藏Sorting事件DataGrid?请记住,我无法更改属性的类型。
是否可以使用TagLib# libary 将自定义标签(例如"SongKey:Em")添加到mp3文件中?
我想SelectedItems在ListView中获取值但它不起作用!
选择一个项目时我没有问题,但我想在扩展模式下工作,因此它显示任何选定的项目.
我的代码是:
List<Fnamelist> familylist = new List<Fnamelist>();
public class Fnamelist
{
public Fnamelist(string fname)
{
this.Fname = fname;
}
private string fname = string.Empty;
public string Fname
{
get { return fname; }
set { fname = value; }
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(((Fnamelist)listView1.SelectedItems).Fname.ToString());
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
familylist.Add(new Fnamelist("mike"));
familylist.Add(new Fnamelist("john"));
familylist.Add(new Fnamelist("melon"));
familylist.Add(new Fnamelist("bab"));
listView1.ItemsSource = familylist;
listView1.Items.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
xaml:
<Button Content="show" Height="23" HorizontalAlignment="Left" Margin="331,79,0,0" Name="button1" …Run Code Online (Sandbox Code Playgroud) 我无法将组合框的ItemsSource设置为数组.我已经尝试将DataContext设置为找到Array的类,然后在XAML中设置绑定
class Car
{
public string[] makes;
}
Run Code Online (Sandbox Code Playgroud)
...
public MainWindow()
{
Car _Car = new Car();
_Car.makes = new string[]
{
"Toyota",
"Mitsubishi",
"Audi",
"BMW"
};
this.DataContext = _Car;
}
Run Code Online (Sandbox Code Playgroud)
然后在XAML中
<ComboBox Name="cars" Grid.Column="0"
Grid.Row="0" Margin="5"
ItemsSource="{Binding Path=makes}"/>
Run Code Online (Sandbox Code Playgroud)
它似乎没有做任何事情.我的汽车组合框不会有任何物品.
我也试过明确分配
cars.ItemsSource= new string[]{
"Toyota",
"Mitsubishi",
"Audi",
"BMW"
};
Run Code Online (Sandbox Code Playgroud)
但后来我收到此错误消息:
调用的目标抛出了异常.
我错过了什么吗?
如何创建布局容器,我可以作为使用ItemsPanel的ItemsControl
是堆叠在两列的项目,并使用正确的列未在左边的列(足够的空间像一个统一的网格包裹混合剩余项目面板)。
例如:
高度几乎相同的四个项目将显示如下:

其中两个宽度明显较小的四个项目将显示如下:

我想要在3x3表格中显示一系列项目,如下所示:
为了实现这一点,我将我的数组切成3个3的数组并显示如下:
<ion-grid no-padding class="home-gallery">
<ion-row *ngFor="let row of items | async">
<ion-col *ngFor="let item of row">
<div class="products_list">
<div class="products_list_img">
<img [src]="item.previewImage" (click)="showItem($event, item)"/>
</div>
</div>
</ion-col>
</ion-row>
</ion-grid>
Run Code Online (Sandbox Code Playgroud)
有没有办法在保持阵列扁平化的同时实现这种显示?
我需要编写一个程序(最好使用高级语言,如 C# 或 Java,但可以是 C/C++),在任何情况下都不能将其数据写入磁盘。
即使不执行任何 I/O 操作,数据也可以通过 OS 页面错误写入磁盘。
有没有办法避免它?
c# ×9
wpf ×7
angular ×1
binding ×1
c++ ×1
combobox ×1
css ×1
datagrid ×1
dispatcher ×1
ionic2 ×1
itemssource ×1
listview ×1
mp3 ×1
mvvm ×1
nhibernate ×1
process ×1
sorting ×1
taglib-sharp ×1
textbox ×1
uniformgrid ×1
winapi ×1
wrappanel ×1