Измените свой код в main.py на:
import test
print("Welcome to Spanish Verb Conjugator")
verb = raw_input("Enter the verb: ")
length = len(verb)
#print(length)
v1 = length - 2
r1 = length - 1
v = verb[v1]
r = verb[r1]
end = str(v+r)
print end
stem = verb[0:v1]
tense = raw_input("Choose your tense: ")
if tense == "present":
test.testt(end)
и измените test.py на:
def testt(ending):
if ending == "ar":
form = raw_input("Form: ")
if form == "yo":
return form + " " + stem + "o"
Кроме того ,
[118 ]stem
не будет работать в test.py
, как это определено в main.py
Я понял, как это сделать в коде ... надеюсь, есть способ имитировать это в XAML. (Пожалуйста, опубликуйте, если вы найдете рабочий образец XAML.)
Для выполнения этого в коде добавьте обработчик событий для события AutoGeneratingColumn Grid, например:
private void ResultsDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyType == typeof(DateTime))
{
DataGridTextColumn dataGridTextColumn = e.Column as DataGridTextColumn;
if (dataGridTextColumn != null)
{
dataGridTextColumn.Binding.StringFormat = "{0:d}";
}
}
}
Я бы использовал DataTemplate с DataType, равным Date или DateTime (в зависимости от того, как он появится). Поместите TextBlock в DataTemplate с StringFormat в привязке.
Что-то вроде этого должно работать (непроверено)
<DataTemplate DataType="{x:Type DateTime}">
<TextBlock Text="{Binding StringFormat={0:d}}" />
</DataTemplate>
Или, если вы хотите, чтобы это применялось только в сетке
<wpfToolkit:DataGrid>
<wpfToolkit:DataGrid.Resources>
<DataTemplate DataType="{x:Type DateTime}">
<TextBlock Text="{Binding StringFormat={0:d}}" />
</DataTemplate>
</wpfToolkit:DataGrid.Resources>
...
</wpfToolkit:DataGrid>
Отформатируйте привязку с помощью StringFormat
:
<DataGridTextColumn Header="Fecha Entrada"
Width="110"
Binding="{Binding EnterDate, StringFormat={}\{0:dd/MM/yyyy hh:mm\}}"
IsReadOnly="True" />
Я думаю, это лучше, чем писать код за частями кода
Ответ Фаррэвера, 11 мая, хорош, но я считаю, что он не работает. я все еще получаю американский мм / дд / ггг вместо моего немецкого дд / мм / гггг. Поэтому я предлагаю найти региональные настройки компьютера и использовать их в StringFormat
Private Sub DGrid_AutoGeneratingColumn(ByVal sender As System.Object, ByVal e As Microsoft.Windows.Controls.DataGridAutoGeneratingColumnEventArgs)
If e.PropertyType Is GetType(DateTime) Then
Dim dataGridTextColumn As DataGridTextColumn = TryCast(e.Column, DataGridTextColumn)
If dataGridTextColumn IsNot Nothing Then
Dim ShortDatePattern As String = System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern
dataGridTextColumn.Binding.StringFormat = "{0:" + ShortDatePattern + "}" '"{0:dd/MM/yyyy}"
End If
End If
End Sub
см. Также: мой блог
Привет, вы можете установить информацию о культуре локали в конструкторе формы WPF как
this.Language = XmlLanguage.GetLanguage (CultureInfo.CurrentCulture.IetfLanguageTag);
или вы можете включить разметку xml xml: lang = "en-GB" в разметку заголовка окна