设置值(int)来检查单选按钮wpf
本文关键字:检查 单选按钮 wpf int 设置 | 更新日期: 2023-09-27 17:50:19
希望你能帮我解决这个问题:)
我想给四个不同的单选按钮提供以下值:30,50,100和200(现在的值是什么并不重要)。现在我需要进入密码,自己修改号码。我想让这些单选按钮在选中时完成工作。
我将代码粘贴在这里。当你向我解释这一点时,你能非常具体吗(如果你可以并且麻烦这样做的话)。
谢谢!
//Method for establishing connection to database.
// Sette parameter for limit
public static MongoDatabase GetDatabase(string searchText)
{
/* try
{*/
TweetOC.Clear();
MongoServerSettings settings = new MongoServerSettings();
settings.Server = new MongoServerAddress("xxxx", xxxx);
MongoServer server = new MongoServer(settings);
MongoDatabase database = server.GetDatabase("tweet_database");
var collection = database.GetCollection<Tweets>("docs");
System.Console.WriteLine("5");
var query = Query.And(Query.Matches("text", searchText),
Query.NE("geo_enabled", false));
System.Console.WriteLine("6");
//var match = Query.ElemMatch("text", query);
var cursor = collection.Find(query);
cursor.SetLimit(30);
System.Console.WriteLine("7");
//Puts the result from the last query into a list.
var resultList = cursor.ToList();
//Iterates over the previous mentioned list and inserts the content into the ObservableCollcetion created earlier.
foreach (var item in resultList)
TweetOC.Add(item);
System.Console.WriteLine(TweetOC.Count);
return database;
}
我必须一直手动更改光标限制。我想当单选按钮被选中时,这个号码会自动改变。
方法和XAML将遵循:
// I want this to be if radiobutton is 20, then this should be sent to cursor.set limit. I cannot make another string in database.cs without getting an error.
/* Private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
var radioButton = sender as RadioButton;
if (radioButton == 20)
return;
int intIndex = Convert.ToInt32(radioButton.Content.ToString(Cursor.SetLimit));
}
* Remember Checked="RadioButton_Checked" in the XAML if you want to try
*/
四个按钮之一的XAML:
<RadioButton Content="RadioButton" Grid.Column="2" HorizontalAlignment="Left"
Margin="20,116,0,0" Grid.Row="2" VerticalAlignment="Top"/>
这看起来应该如何使它工作?请编辑代码(如果你麻烦的话),以便我能看到并理解这一点。
再次感谢!
要以MVVM友好的方式做到这一点,请像这样绑定IsChecked属性:
IsChecked="{Binding Path=CursorLimit, Converter={StaticResource ParamToIntConverter}, ConverterParameter=10}"
当然要为给定的单选按钮设置正确的参数值。如果您不熟悉转换器,您需要在资源中有这样一行(假设您将本地xmlns设置为指向转换器名称空间):
<local:ParamToIntConverter x:Key="ParamToIntConverter"/>
那么你的转换器看起来像:
public class ParamToIntConverter : IValueConverter
{
public object Convert (...)
{
return value.Equals(int.Parse((string)parameter));
}
public object ConvertBack(...)
{
if ((bool)value)
return int.Parse((string)parameter);
else
return Binding.DoNothing;
}
}
您的xml代码:
<RadioButton Content="RadioButton" Grid.Column="2" HorizontalAlignment="Left"
Margin="20,116,0,0" Grid.Row="2" VerticalAlignment="Top" Checked="RadioButton_Checked" />
*.cs代码:
private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
// ... do what you need for this button
}
在你的*.cs文件中使用不同的Checked="[insert_method_name]"
模板和相同的方法名,并在每个方法中做你需要的。
你也可以试着让它像这个http://www.dotnetperls.com/radiobutton-wpf的例子。